T-SQL:カーソルを使用した簡単な例

カーソルの詳細については、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分のご相談ます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です