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

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

PR

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

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


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

PR

前提

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

テーブル「employee」
テーブル「employee」
PR

サンプルプログラム

--変数の宣言
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
PR

実行結果

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

実行結果
実行結果
タイトルとURLをコピーしました