このコードはどういう意味ですか?
DECLARE Users CURSOR LOCAL FAST_FORWARD READ_ONLY FOR
SELECT
Username,
Password
FROM View_V_User
WHERE CF = @UserID
AND Scheduling = 'absolute'
特に、最初のコード行は何を意味するのでしょうか?
このコードはどういう意味ですか?
DECLARE Users CURSOR LOCAL FAST_FORWARD READ_ONLY FOR
SELECT
Username,
Password
FROM View_V_User
WHERE CF = @UserID
AND Scheduling = 'absolute'
特に、最初のコード行は何を意味するのでしょうか?
MSDNのカーソルドキュメント:http://msdn.microsoft.com/en-us/library/ms180169 (v = sql.105).aspx
ドキュメントをお読みください。それは非常に明確で簡潔であり、あなたの途中であなたを助けるはずです:
MSDNドキュメントから:
ローカル
カーソルのスコープが、カーソルが作成されたバッチ、ストアード・プロシージャー、またはトリガーに対してローカルであることを指定します。カーソル名は、このスコープ内でのみ有効です。カーソルは、バッチ、ストアドプロシージャ、トリガーのローカルカーソル変数、またはストアドプロシージャのOUTPUTパラメータから参照できます。OUTPUTパラメーターは、ローカルカーソルを呼び出し元のバッチ、ストアドプロシージャ、またはトリガーに戻すために使用されます。これにより、パラメーターをカーソル変数に割り当てて、ストアドプロシージャの終了後にカーソルを参照できます。カーソルがOUTPUTパラメーターで戻されない限り、バッチ、ストアード・プロシージャー、またはトリガーが終了すると、カーソルは暗黙的に割り振り解除されます。OUTPUTパラメータで戻された場合、カーソルを参照している最後の変数の割り当てが解除されるか、スコープ外になると、カーソルの割り当てが解除されます。
早送り
パフォーマンスの最適化が有効になっているFORWARD_ONLY、READ_ONLYカーソルを指定します。SCROLLまたはFOR_UPDATEも指定されている場合、FAST_FORWARDは指定できません。
READ_ONLY
このカーソルを介して行われた更新を防止します。カーソルは、UPDATEまたはDELETEステートメントのWHERECURRENTOF句で参照できません。このオプションは、更新されるカーソルのデフォルト機能をオーバーライドします。
カーソルは、終了時に暗黙的に割り当て解除する必要があり、選択用に最適化されており、カーソルを使用して更新を行うことはできません。