可能重复:
Parameterizing a SQL IN clause?
SQL Server - In clause with a declared variable
您好,
我面临将问题传递给'IN'子句的问题。我使用以下查询。
查询:
SELECT Topics.Topic_Id FROM Topics
Where Topic_Description IN (''+ @Topics +'')
当参数具有单个值时,此查询有效。我的参数可以用逗号分隔多个值,例如:'one','two','three','four'。但是只要有多个参数,查询就会失败。怎么克服这个?请建议。
由于
我必须将上述内容用作存储过程的一部分。我必须将select查询的结果带到如下所示的游标中:
DECLARE cur_TopicIDs CURSOR FOR SELECT Topics.Topic_Id FROM Topics Where Topic_Description IN(''+ @Topics +'')....等
在这种情况下,我如何使用其他链接中建议的动态sp
答案 0 :(得分:3)
答案 1 :(得分:0)
您必须在@Topics中创建格式为one','two','three
的字符串作为值。
编辑: -
然后,您需要使用EXEC sp_executesql
来执行您的sql语句。答案在消费者给出的链接中正确解释了您的问题。