カーソルを使用して繰り返し処理をする

SQL Serverでの
 ・カーソルを使用した繰り返し処理の手順
 ・サンプルプログラム
を記載します!

カーソルを使用した繰り返し処理の手順

手順
  1. カーソルを定義
  2. カーソルをオープン
  3. 初回フェッチ
  4. 次データをフェッチ(繰り返し処理の中で)
  5. カーソルをクローズ
  6. カーソルを削除


詳細は公式サイトをご確認ください。

前提

テーブル「employee」に以下のレコードが存在することとします。
※このテーブルを後述するサンプルプログラムで使用します。

サンプルプログラム

--変数の宣言
DECLARE
	@id      char(5),
	@name    varchar(10),
	@sex     char(2),
	@section varchar(10)

--カーソルを定義
DECLARE cursor1 CURSOR FOR SELECT * FROM dbo.employee

--カーソルをオープン
OPEN cursor1

--初回フェッチ
FETCH NEXT FROM cursor1 INTO
	@id,
	@name,
	@sex,
	@section

--全てフェッチするまで繰り返し
WHILE @@FETCH_STATUS = 0 
	BEGIN
		--フェッチで取得したデータを使用した処理を記載する
		PRINT @id + ' | ' + @name + ' | ' + @sex + ' | ' + @section

		--次データをフェッチ
		FETCH NEXT FROM cursor1 INTO
			@id,
			@name,
			@sex,
			@section
	END

--カーソルをクローズ
CLOSE cursor1

--カーソルを削除
DEALLOCATE cursor1

結果

カーソルを使用した繰り返し処理ができました。

タイトルとURLをコピーしました