[ Oracle - Procedure 문법_Cursor_For ]
Cursor FOR문
--장점 : open, fetch 등을 하지 않아도 됨
--단점 : ??
--질문 : 만약, 한건도 없을 경우 for loop 가 수행 되는지 궁금??
CREATE OR REPLACE PROCEDURE HRMS.Op_Odm_Shift_Work_Daily_Update (
in_yyyymm IN VARCHAR2, -- 작업년월
in_emp_id IN VARCHAR2, -- 사번
in_apply_ym_m IN VARCHAR2, -- 소급계산 처리시 수정처리년월
in_mod_emp_id IN VARCHAR2, -- 작업자사번
out_return OUT VARCHAR2 -- return 변수
)
IS
CURSOR cur1 IS
SELECT a.apply_ymd,
a.shift_work_cd,
a.data_type,
a.sta_hm, a.end_hm
FROM ODM_SHIFT_WORK_DAILY a,
ODM_SHIFT_WORK_CODE b,
ODM_CALENDAR c
WHERE a.shift_work_cd = b.cd
AND a.apply_ymd = c.cal_ymd
AND b.idx_id = '1109'
AND a.emp_id = in_emp_id
AND a.apply_ymd LIKE in_yyyymm || '%' ;
BEGIN
......
FOR eItem IN cur1 LOOP
..........
-- 이때 eItem 변수는 정의하지 않아도 사용가능하다.
변수1 := eItem.apply_ymd;
변수2 := eItem.shift_work_cd;
.........
END LOOP;
.........
END;
'(DB) Oracle > PL.SQL' 카테고리의 다른 글
Oracle - Procedure 문법_FOR_SELECT문 (0) | 2017.01.21 |
---|---|
Oracle - Procedure 문법_Cursor_SubQuery (0) | 2017.01.21 |
Oracle - Procedure 문법_Cursor_Fetch (0) | 2017.01.21 |
Oracle - Procedure 문법 Cursor_Dynamic Fetch (0) | 2017.01.21 |
Oracle - Procedure 문법_Cursor_02 (0) | 2017.01.21 |