5

可能的重复:
参数化 SQL IN 子句?
SQL Server - 带有声明变量的 In 子句

你好,

我在将参数传递给“IN”子句时遇到问题。我正在使用以下查询。

询问:

SELECT Topics.Topic_Id  FROM Topics 
    Where Topic_Description IN (''+ @Topics +'')    

当参数具有单个值时,此查询有效。我的参数可以用逗号分隔多个值,例如:“一”、“二”、“三”、“四”。但是只要有多个参数,查询就会失败。如何克服这一点?请建议。

谢谢

我必须将上述内容用作存储过程的一部分。我必须将选择查询的结果放入如下游标中:

DECLARE cur_TopicIDs CURSOR FOR SELECT Topics.Topic_Id FROM Topics Where Topic_Description IN (''+ @Topics +'')...等

在这种情况下,如何按照其他链接中的建议使用动态 sp

4

2 回答 2

3

使用此处的任何拆分功能: http ://www.sqlteam.com/forums/topic.asp?TOPIC_ID=50648

于 2011-01-18T10:43:41.140 回答
0

one','two','three 您必须在@Topics 中创建一个格式字符串作为值。

编辑:- 然后你需要用来EXEC sp_executesql执行你的 sql 语句。答案在您的问题给出的链接中得到了正确解释。

于 2011-01-18T10:43:54.520 回答