728x90
반응형
--[테이블 백업용 프로시저]
--[테이블 백업용 프로시저] CREATE OR REPLACE PROCEDURE DEPT_INSERT_PROC(P_TNM VARCHAR2) IS V_CNT NUMBER; V_SQL VARCHAR2(1000); V_TNM VARCHAR2(200) := p_tnm||'_'||TO_CHAR(SYSDATE, 'YYYYMMDD'); BEGIN DBMS_OUTPUT.PUT_LINE(p_tnm||'테이블 백업 시작'); DBMS_OUTPUT.PUT_LINE('백업 테이블 명 : '||V_TNM); select count (*) INTO v_cnt from TAB WHERE TNAME= V_TNM; IF V_CNT <=0 THEN V_SQL := 'CREATE TABLE '||V_TNM||' AS SELECT * FROM ' ||p_tnm; EXECUTE IMMEDIATE V_SQL; DBMS_OUTPUT.PUT_LINE('테이블 생성 성공'); ELSE V_SQL := 'DROP TABLE '||v_tnm; EXECUTE IMMEDIATE V_SQL; DBMS_OUTPUT.PUT_LINE ('기존 테이블 삭제 성공'); V_SQL := 'CREATE TABLE '||v_tnm||' AS SELECT * FROM ' ||P_TNM; EXECUTE IMMEDIATE V_SQL; DBMS_OUTPUT.PUT_LINE ('테이블 생성 성공'); END IF; DBMS_OUTPUT.PUT_LINE('백업 완료'); END; /
EXEC DEPT_INSERT_PROC('DEPT');
권한부여
GRANT CREATE ANY TABLE TO TEST;
728x90
반응형
'[ORACLE]' 카테고리의 다른 글
[ORACLE] TRIGGER (0) | 2024.01.29 |
---|---|
[ORACLE] EXCETPTION (0) | 2024.01.29 |
[ORACLE] RETURN (0) | 2024.01.29 |
[ORACLE] PROCEDURE (0) | 2024.01.26 |
[ORACLE] OBJECT, TABLE (0) | 2024.01.26 |