SQL Server ストアドプロシージャ 再帰呼出し
CREATE PROCEDURE <スキーマ>.<ストアド名> @PRM_COMPANY_CD VARCHAR(4) , @RETURN_CD INT OUTPUT AS BEGIN DECLARE @COMPANY_CD VARCHAR(4); DECLARE @COMPANY_NM VARCHAR(100); DECLARE @PROC_RETURN_CD INT; DECLARE CUR_COMPANY CURSOR FOR SELECT COMPANY_CD , COMPANY_NM FROM COMPANY_MST WHERE COMPANY_CD = @PRM_COMPANY_CD ORDER BY START_DATE ; OPEN CUR_COMPANY; FETCH NEXT FROM CUR_COMPANY INTO @COMPANY_CD, @COMPANY_NM; WHILE @@FETCH_STATUS = 0 BEGIN ・ ・ <再帰呼出し> EXEC <スキーマ>.<ストアド名> @COMPANY_CD , @PROC_RETURN_CD OUTPUT ・ ・ FETCH NEXT FROM CUR_COMPANY INTO @COMPANY_CD, @COMPANY_NM; END; CLOSE CUR_COMPANY; DEALLOCATE CUR_COMPANY; END;
【参考サイト】
qa.atmarkit.co.jp