以下のコードのように、テーブル値関数全体でカーソルがループしています。
DECLARE db_cursor CURSOR FOR
SELECT *
from [dbo].[GetStock]()
...
私の質問は次のとおりです。カーソルは各反復で関数を実行しますか? ビューに対する同じ質問。
よろしく
以下のコードのように、テーブル値関数全体でカーソルがループしています。
DECLARE db_cursor CURSOR FOR
SELECT *
from [dbo].[GetStock]()
...
私の質問は次のとおりです。カーソルは各反復で関数を実行しますか? ビューに対する同じ質問。
よろしく
カーソルの種類によって異なります。
カーソルのタイプに影響を与えるクエリに関していくつかの制限があります。ここにリストされています:暗黙的なカーソル変換の使用。
sp_describe_cursorプロシージャを使用して、カーソルタイプを確認できます。コードサンプルについては、 sp_describe_cursorトピックを参照してください。
マルチステートメントUDFの場合、キーセット駆動型カーソル(結果テーブルに一意のキーがある場合)または静的カーソル(結果テーブルに一意のキーがない場合)を取得する可能性が最も高くなります。インラインUDFの場合、クエリと基になるテーブルによって異なります。
マルチステートメントUDFがあると思います。この場合、カーソルを宣言するときにSTATICを指定して、キーセット駆動型カーソルを回避する必要があります。