[ Oracle - Procedure 문법 Cursor_Dynamic Fetch ]
설명 : - sql 문은 string 으로 생성 후 dynamic loop를 돌린다.
- dynamic cursor 에 대한 변수 선언 필요
문법 :
CREATE OR REPLACE procedure HRMS.op_payroll_detail_mm_create(
aRtn OUT VARCHAR2 ) IS
-- Cursor 선언
TYPE DYN_CURSOR_TYPE IS REF CURSOR;
DYN_CUR DYN_CURSOR_TYPE;
BEGIN
v_sqlsyntax := 'select a.pay_ymd, a.pay_type_cd, a.sta_ymd, a.end_ymd, a.pay_ym, a.duty_ym, a.give_ymd, a.calc_limit_yn
from py_pay_ymd a,
py_retroact b
where a.pay_ymd = b.retro_pay_ymd
and a.pay_type_cd = b.retro_pay_type_cd
and b.emp_id = ''' || aEmp_id || ''' ';
OPEN DYN_CUR FOR v_sqlsyntax;
LOOP
FETCH DYN_CUR INTO sPay_ymd,
sPay_type_cd,
sSta_ymd,
sEnd_ymd,
sPay_ym,
sDuty_ym,
sGive_ymd,
sCalc_limit_yn;
EXIT WHEN DYN_CUR%NOTFOUND;
END;
'(DB) Oracle > PL.SQL' 카테고리의 다른 글
Oracle - Procedure 문법_Cursor_For (0) | 2017.01.21 |
---|---|
Oracle - Procedure 문법_Cursor_Fetch (0) | 2017.01.21 |
Oracle - Procedure 문법_Cursor_02 (0) | 2017.01.21 |
Oracle - Procedure 문법_Cursor_01 (0) | 2017.01.21 |
Oracle - Procedure 문법_DBMS_OUTPUT (0) | 2017.01.21 |