表值可选参数
是否可以使用表值参数作为可选参数创建过程。
我尝试了以下代码:
CREATE PROCEDURE SP @Table testteype = null READONLY AS ....
但我得到这个错误:
Operand type clash: void type is incompatible with test type
ps:我使用C#.Net的sql server
表值参数始终具有空表的隐式值。 因此,您实际上可以在没有任何参数的情况下调用该过程,并且它将执行,但该表将为空。
因此,使用默认值标记表值参数并没有多大意义。 删除“= null”,检查表格内容,你应该好好去。
基本上,具有默认值“= null”是没有意义的,并且是错误的原因。
默认情况下, @Table testteype
获取空表的值。 因此,您可以删除= null:
CREATE PROCEDURE SP @Table testteype READONLY AS ....
参考:有关如何使用C#ADO.NET的示例,我建议使用此post – 使用SQL Server的表值参数
不确定为什么上面的答案声明默认值= NULL是不正确的,但这对我有用。
上述就是C#学习教程:表值可选参数分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
CREATE PROCEDURE SP ( @Param1 VARCHAR(10), @Param2 VARCHAR(10)=NULL ) SELECT...... WHERE @Param1 = SOMETHING AND (@Param2 = SOMETHING OR @Param2 IS NULL)
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1040888.html