いつか、技術ブログを

新人SE(OJT中)が技術ブログを書きたがっているブログです

データベースのカーソルの勉強メモ

データベースのカーソルについて勉強しました。

カーソルとは

カーソルは、プログラミング言語でデータベースを扱う時に使います。
「カーソル」という言葉から矢印を想像してたのですが、ビュー表と同じようなものらしいです。1行ずつ取り出せるところがビュー表と違います。

カーソルの定義

DECLARE カーソル名 CURSOR  
FOR 問い合わせ指定(SELECT文)

カーソルの使い方

①OPEN文でカーソルを開く

OPEN カーソル名  

②FETCH文で1行ずつデータを取り出し、ホスト変数に入れる(繰り返し)

FETCH NEXT FROM カーソル名 INTO 変数リスト  

※更新処理(UPDATEやDELETE文)は以下のように書く。

UPDATE 表名 SET 列名=値, …
    WHERE CURRENT OF カーソル名
FETCH NEXT FROM カーソル名 INTO 変数リスト

③CLOSE文でカーソルを閉じる

CLOSE カーソル名

参考サイト

「データベーススペシャリスト試験」戦略的学習のススメ(20):「カーソル」を理解する (1/2) - @IT
さらっと覚えるSQL&T-SQL入門(11):ストアドプロシージャの花形“カーソル”を使おう (1/3) - @IT