SQL Server ストアドプロシージャのカーソル利用
<フェッチ項目を格納する変数の宣言> DECLARE @COMPANY_CD VARCHAR(4); DECLARE @COMPANY_NM VARCHAR(100); <カーソルの宣言> DECLARE CUR_COMPANY CURSOR FOR SELECT COMPANY_CD , COMPANY_NM FROM COMPANY_MST WHERE KBN = '1' ORDER BY START_DATE ; <カーソルオープン> OPEN CUR_COMPANY; <1件目をフェッチ> FETCH NEXT FROM CUR_COMPANY INTO @COMPANY_CD, @COMPANY_NM; <カーソルループ> WHILE @@FETCH_STATUS = 0 BEGIN ・ ・ <カーソルループ内の処理> ・ ・ <次のレコードをフェッチ> FETCH NEXT FROM CUR_COMPANY INTO @COMPANY_CD, @COMPANY_NM; END; <カーソルクローズ> CLOSE CUR_COMPANY; DEALLOCATE CUR_COMPANY;
【参考サイト】
qiita.com