1. ホーム
  2. tsql

[解決済み] T-SQL クエリ結果に対するループ

2023-04-08 02:19:54

質問

あるクエリを実行したところ select @id=table.id from table そして、各行に対してストアプロシージャを実行できるように、結果に対してループする必要があります。 exec stored_proc @varName=@id,@otherVarName='test'

T-SQLスクリプトでこれを行うにはどうすればよいですか?

どのように解決するのですか?

この場合、CURSORを使用することができます。

DECLARE @id INT
DECLARE @name NVARCHAR(100)
DECLARE @getid CURSOR

SET @getid = CURSOR FOR
SELECT table.id,
       table.name
FROM   table

OPEN @getid
FETCH NEXT
FROM @getid INTO @id, @name
WHILE @@FETCH_STATUS = 0
BEGIN
    EXEC stored_proc @varName=@id, @otherVarName='test', @varForName=@name
    FETCH NEXT
    FROM @getid INTO @id, @name
END

CLOSE @getid
DEALLOCATE @getid

テーブルから複数のパラメータを表示するように変更。