CREATE OR REPLACE PROCEDURE YYYYYYY.P_BOARD_BAK ( P_BOARD_SEQ IN BOARD.BOARD_SEQ%TYPE )
IS V_BOARD_SEQ BOARD_BAK.BOARD_SEQ%TYPE; V_BOARD_TYPE BOARD_BAK.BOARD_TYPE%TYPE; V_BOARD_STEP BOARD_BAK.STEP%TYPE; V_BOARD_TITLE BOARD_BAK.TITLE%TYPE; V_BOARD_CONTENT BOARD_BAK.CONTENT%TYPE; V_BOARD_IP BOARD_BAK.IP%TYPE; V_DELETE_YN BOARD_BAK.DELETE_YN%TYPE; V_REGI_DT BOARD_BAK.REGI_DT%TYPE; V_REGI_USER BOARD_BAK.REGI_USER%TYPE; V_MODI_DT BOARD_BAK.MODI_DT%TYPE; V_MODI_USER BOARD_BAK.MODI_USER%TYPE;
CURSOR C_BOARD_ITEM IS SELECT BOARD_SEQ, BOARD_TYPE, STEP, TITLE, CONTENT, IP, DELETE_YN, REGI_DT, REGI_USER, MODI_DT, MODI_USER FROM BOARD WHERE BOARD_SEQ = P_BOARD_SEQ;
BEGIN DBMS_OUTPUT.ENABLE;
OPEN C_BOARD_ITEM;
LOOP
FETCH C_BOARD_ITEM INTO V_BOARD_SEQ, V_BOARD_TYPE, V_BOARD_STEP, V_BOARD_TITLE, V_BOARD_CONTENT, V_BOARD_IP, V_DELETE_YN, V_REGI_DT, V_REGI_USER, V_MODI_DT, V_MODI_USER; EXIT WHEN C_BOARD_ITEM%NOTFOUND; INSERT INTO BOARD_BAK(BOARD_SEQ, BOARD_TYPE, STEP, TITLE, CONTENT, IP, DELETE_YN, REGI_DT, REGI_USER, MODI_DT, MODI_USER, BAK_DATE) VALUES(V_BOARD_SEQ, V_BOARD_TYPE, V_BOARD_STEP, V_BOARD_TITLE, V_BOARD_CONTENT, V_BOARD_IP, V_DELETE_YN, V_REGI_DT, V_REGI_USER, V_MODI_DT, V_MODI_USER, SYSDATE); COMMIT;
END LOOP;
CLOSE C_BOARD_ITEM;
EXCEPTION WHEN OTHERS THEN ROLLBACK; DBMS_OUTPUT.PUT_LINE('EXCEPTION : ' || SQLERRM);
END P_BOARD_BAK;
|