私は検索を続けましたが、有効な回答がいくつか見つかりましたが、コメントして他の回答を追加してください。
回答1:この記事へ 感謝:Execute stored procedure programmatically inside recursive CTE instead of Cursor
一時テーブルを使用するには可能かもしれない、このような何か:
DECLARE #TempEmp TABLE
(
arg1 INT IDENTITY,
arg2 INT,
arg3 INT
)
INSERT INTO #TempTable
(
arg1, arg2, arg3
)
SELECT arg1, arg2, arg3 FROM ATable
DECLARE @arg1 INT
DECLARE @arg2 INT
DECLARE @arg3 INT
WHILE EXISTS (SELECT 1 FROM #TempTable)
BEGIN
SELECT TOP 1 @arg1 = arg1, @arg2 = arg2, @arg3 = arg3 FROM #TempTable
EXEC dbo.A_StoredProcedure @arg1, @arg2, @arg3
DELETE FROM #TempTable WHERE arg1 = @arg1
END
回答2:この回答のため 感謝:Cursor with Stored Procedure Question。
カーソルを使用している場合、それは次のようになります。
DECLARE @arg1 INT
DECLARE @arg2 INT
DECLARE @arg3 INT
DECLARE cur CURSOR READ_ONLY
FOR
SELECT arg1, arg2, arg3 FROM ATable
OPEN cur
FETCH NEXT FROM cur
INTO @arg1, @arg2, @arg3
-- Boucle dans le résultat
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC dbo.A_StoredProcedure @arg1, @arg2, @arg3
FETCH NEXT FROM cur
INTO @arg1, @arg2, @arg3
END
CLOSE cur
DEALLOCATE cur
は、他のアイデアを持っている人はいますか? // MSDN:
を使用すると、表-Valuedパラメータのhttpsを試すことができる可能性があり、このhttp://stackoverflow.com/questions/14099913/pass-select-result-as-parameter-of-stored-procedure と思われるかもしれません。 microsoft.com/en-us/library/bb510489(SQL.100).aspx –
あなたは間違いなくストアドプロシージャをそのように使用することはできません。おそらく、ストアドプロシージャは代わりに[テーブル値付き関数](https://msdn.microsoft.com/en-us/library/ms186755.aspx)になる可能性がありますか? – SMM
はいテーブルの価値のあるパラメータは有望そうです。 – Rachel