5

重複の可能性:
SQL IN 句をパラメータ化しますか?
SQL Server - 宣言された変数を含む in 句

やあ、

「IN」句にパラメータを渡す際に問題に直面しています。以下のクエリを使用しています。

クエリ:

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

このクエリは、パラメーターに単一の値がある場合に機能します。パラメータには、'one'、'two'、'three'、'four' のように複数の値をコンマで区切ることができます。ただし、複数のパラメーターがある場合は常にクエリが失敗します。これを乗り越えるには?提案してください。

ありがとう

上記をストアドプロシージャの一部として使用する必要があります。以下のように、選択クエリの結果をカーソルに入れる必要があります。

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

この場合、他のリンクで提案されているように動的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 に答える