我在为存储过程创建动态参数时遇到问题。
我在存储过程中有两个nvarchar
参数,这些参数是用逗号分隔的单词组合。
例如:
'Login, check, take, return' and 'admin, yes, no, yes'
我必须在where子句中包含这些参数,如
login=admin and check=yes and take=no and return=yes
问题是参数中的单词数是动态的。它可以从1到20个字不等。
有没有解决办法?
答案 0 :(得分:2)
(@Param IS NULL or Column = @Param)
如果你有完全动态的SQL和随机参数名称,那么它就是
之一你不会有一个完全动态的.net方法吗?
答案 1 :(得分:0)
您必须在存储过程中创建动态SQL查询。在存储过程中,您必须拆分参数和值,并在where where条件下构建动态。
答案 2 :(得分:0)
您必须保存存储过程中的变量。
E.g。
@sql as nvarchar(1000)
@sql = 'select * from tablename where'
现在你循环遍历你的变量,如
@sql = @sql +' '+ @firstvariable + ' = '''+ @valuevariable +'' AND '