CREATE OR REPLACE PROCEDURE UPDATE_RV_INFO
IS
CURSOR CUR1 IS
SELECT * FROM (
SELECT LEVEL AS LVL, RV_LVL, RV_CODE
FROM RV_INFO
START WITH PRTS_RV_CODE = 'ROOT'
CONNECT BY PRIOR RV_CODE = PRTS_RV_CODE
) SUB
WHERE SUB.RV_LVL != SUB.LVL;
V_LVL NUMBER;
V_RV_LVL NUMBER;
V_RV_CODE VARCHAR2(12);
BEGIN
FOR CUR IN CUR1 LOOP
DBMS_OUTPUT.PUT_LINE('CUR.LVL:'||CUR.LVL);
DBMS_OUTPUT.PUT_LINE('CUR.RV_LVL:'||CUR.RV_LVL);
DBMS_OUTPUT.PUT_LINE('CUR.RV_CODE:'||CUR.RV_CODE);
UPDATE RV_INFO
SET RV_LVL = CUR.LVL
WHERE RV_CODE = CUR.RV_CODE;
END LOOP;
END;
'Programming > Oracle' 카테고리의 다른 글
[ORACLE] 컬럼 추가, 수정, 삭제 (0) | 2011.11.17 |
---|---|
오라클 스케쥴 (0) | 2011.11.14 |
오라클에서 원하는 날짜 리스트를 레코드로 가져오기 - 02 (0) | 2011.11.14 |
오라클에서 원하는 날짜 리스트를 레코드로 가져오기 - 01 (0) | 2011.11.14 |
DBMS_OUTPUT (0) | 2011.11.10 |
댓글