テーブルからsprocに値を挿入する必要があります。例えば:
exec mysproc @param1='col1', @param2='col2'
これはカーソルを使用して実行できますが、集合演算を介して実行する方法はありますか?
テーブルからsprocに値を挿入する必要があります。例えば:
exec mysproc @param1='col1', @param2='col2'
これはカーソルを使用して実行できますが、集合演算を介して実行する方法はありますか?
「集合演算」の一部としてsprocを呼び出すことはできません。おそらく、その理由は、sprocがデータの変更、追加の結果セット(!)の送信、サーバーのシャットダウンなどの任意の副作用を引き起こす可能性があるためです。
カーソルは、これに対する標準的なアプローチです。(ああ)
もちろん、TVPを取得するようにsprocを変更することもできます。それがあなたのために実行可能かどうかわからない。
どの方法を選択するかは、利用可能な時間に基づいていると思いますが、これらの方法のどれが最も時間がかかるかは、ロジックを詳しく理解しないとわかりません。
この問題にはいくつかのアプローチがあります。
SELECT Moo, Meow
FROM Woof
WHERE Fu = @ParmX
AND Bar = @ParmY
proc を呼び出す必要が@ParmX, @ParmY
あり、内部のロジックはセット ベースの方法で処理されます。