カーソルの詳細については、Steve Stedmanが提供する無料のSQLクエリトレーニング
SQL Serverでは、カーソルは、結果セットを反復処理したり、結果セットの各行を一度にループ処理したりするために使用されるツールです。 一連のデータを扱う最良の方法ではないかもしれませんが、t-SQLスクリプトでrow(RBAR)を処理してrowをループする必要がある場合は、カーソルがそれを行う一,注:SQL Serverを初めて使用し、Oracleのバックグラウンドから来ている場合は、SQL ServerのカーソルがOracleのカーソルとは異なることを知っておく必要があります。
カーソルを作成する前に、カーソルで使用される単純なクエリから始めます。
USE AdventureWorks2008;GOSELECT BusinessEntityID, Name FROM Sales.Store;これは次のようになります。
selectステートメントではなく、カーソルに変換します。
ステップ1:カーソルからの出力を保持する変数を宣言します。,
DECLARE @BusinessEntityID as INT;DECLARE @BusinessName as NVARCHAR(50);ステップ2:カーソルオブジェクトを宣言します。
DECLARE @BusinessCursor as CURSOR;ステップ3:カーソルにクエリを割り当てます。
SET @BusinessCursor = CURSOR FORSELECT BusinessEntityID, Name FROM Sales.Store;ステップ4:カーソルを開きます。
OPEN @BusinessCursor;ステップ5:最初の行をフェッチします。
FETCH NEXT FROM @BusinessCursor INTO @BusinessEntityID, @BusinessName;ステップ6:結果がなくなるまでループします。 ループでは、結果セットからIDと名前を出力し、ネット行を取得します。
ステップ7:カーソルを閉じます。,
CLOSE @BusinessCursor;ステップ8:カーソルの割り当てを解除して、メモリを解放したり、結果セットを開いたりします。
DEALLOCATE @BusinessCursor;今、それをすべて一緒に置く:
これは、Microsoft SQL Server上でカーソルをすばやく構築して使用する方法の概要を示すはずです。 この例はSQL Server2008で実行され、SQL Server2005、SQL Server2008R2、SQL Server2012、またはSQL Server2014でも同じように動作します。,
以下は、TSQLでのカーソルの使用に関する同様の概要を示すビデオです。
お楽しみください!,
-Steve Stedman
関連リンク
- ビデオ:TSQLカーソルの簡単な紹介
- 70-461コースの無料SQLクエリトレーニング
- シンプルなカーソルの例:FORWARD_ONLY vs FAST FORWARD
- SQL Serverでのカーソルの使用に関するビデオトレーニング
- カーソルの詳細
- カーソルを使用してデータベースを一覧表示する
- カーソルを使用してデータベースを一覧表示する
- カーソルの詳細
- カーソルを使用してデータベースを一覧表示する
- li>cursors–technical debt
- カーソルを使用したデータベースのリストの例
データベースヘルスモニターを試しましたか?
スティーブとステッドマンソリューションチームからの助けを得る
私たちは助ける準備ができています。, SteveとStedman Solutionsのチームは、SQL Serverのニーズを支援するためにここにいます。において、本日のご連絡Stedman ーションを無料で30分のご相談ます。