カーソルの実装
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/06/01 09:36 UTC 版)
「Transact-SQL」の記事における「カーソルの実装」の解説
Transact-SQL では、CURSORを使用することで、テーブルを逐次処理することが可能である。 次の例では、CURSORを利用し、CALENDARテーブルを条件分けしながら更新する処理である。 -- カーソルの定義DECLARE CUR_CALENDAR_UPDATE CURSOR FOR SELECT YEAR, MONTH, DAYFROM CALENDAR-- 変数宣言/初期化DECLARE @wk_year CHAR(4)DECLARE @wk_month VARCHAR(2)DECLARE @wk_day VARCHAR(2)SET @wk_year = ''SET @wk_month = ''SET @wk_day = ''-- カーソルを開くOPEN CUR_CALENDAR_UPDATE-- カーソルより最初の1行を取得FETCH NEXT FROM CUR_CALENDAR_UPDATE INTO@wk_year, @wk_month, @wk_day-- カーソルで取得した行が終端に達するまで処理を継続するWHILE @@FETCH_STATUS = 0BEGIN-- カーソルで取得したYEARが2006より大きい場合は処理を行うIF @wk_year > 2006BEGINUPDATE CALENDARSETDATE = GETDATE()WHEREYEAR = @wk_yearAND MONTH = @wk_monthANDDAY = @wk_dayEND-- 次の1件を取得するFETCH NEXT FROM CUR_CALENDAR_UPDATE INTO@wk_year, @wk_month, @wk_dayEND-- カーソルを閉じるCLOSE CUR_CALENDAR_UPDATE-- カーソルのメモリを開放DEALLOCATE CUR_CALENDAR_UPDATE
※この「カーソルの実装」の解説は、「Transact-SQL」の解説の一部です。
「カーソルの実装」を含む「Transact-SQL」の記事については、「Transact-SQL」の概要を参照ください。
- カーソルの実装のページへのリンク