2012-04-05 22 views
25

SQLでコンマ区切りリストをループする方法は?私はIDのリストを持っており、これらのIDをストアドプロシージャに渡す必要があります。私はストアドプロシージャを変更することはできません。私は各IDのSPを実行する方法を理解する必要があります。私にいくつかのアイデアを教えてください。私はそこから持ちこたえます。SQLでカンマ区切りリスト

ありがとうございました。

+2

あなたが別々IDごとにストアド・プロシージャをコールしますか?あなたはどの言語をSQLの外で使っていますか? – n8wrl

+0

保存した内容を変更できない場合は、複数回呼び出すことをおすすめします。 – Soader03

+1

どのバージョンのSQL Serverですか? – Yuck

答えて

62
declare @S varchar(20) 
set @S = '1,2,3,4,5' 

while len(@S) > 0 
begin 
    --print left(@S, charindex(',', @S+',')-1) 
    exec YourSP left(@S, charindex(',', @S+',')-1) 
    set @S = stuff(@S, 1, charindex(',', @S+','), '') 
end 

SEデータにしてみてください:Walk the string

+0

それは速いです!ありがとうございました! – Virus

+1

リンクの+1。ブックマーク済み:) –

+1

+1のリンクです。非常に涼しい – brian