CREATE OR REPLACE PROCEDURE SP_DAILY_STG_SYNC_TABLE
/*
-- 2019/11/25
-- 일일 동기화 테이블
-- ----------------------------------------------------------------
-- 0.일일백업 대상
SELECT OWNER,TABLE_NAME
FROM TB_DBM_TABLES A
WHERE A.STG_SYNC_YN= 'Y'
;
-- 1.일일 동기화 테이블 백업 테이블
-- 2.일일 동기화 테이블 TRUNCATE
-- 3.일일 동기화 테이블 복사 정비 => 개발
*/
(
IN_DATE IN VARCHAR2 DEFAULT TO_CHAR(SYSDATE,'YYYYMMDD')
)
IS
/* 1.권한관리테이블에 추가 대상 */
CURSOR DAILY_BACKUP_TABLE IS
SELECT OWNER,TABLE_NAME
FROM TB_DBM_TABLES@DL_SCOTT_DEV_SCOTT_DBA A
WHERE A.STG_SYNC_YN= 'Y'
;
-- V_SQL VARCHAR2(1000);
-- V_T_SQL VARCHAR2(1000);
-- V_MV_SQL VARCHAR2(2000);
V_OWNER VARCHAR2(100);
V_TABLE_NAME VARCHAR2(100);
--V_GRANTOR VARCHAR2(100);
--V_PRIVILEGE VARCHAR2(100);
--V_OBJECT_TYPE VARCHAR2(100);
--V_GRANT_REVOKE_GBN VARCHAR2(100);
--V_MSG long;
BEGIN
DBMS_OUTPUT.ENABLE;
FOR V_ROW IN DAILY_BACKUP_TABLE
LOOP
V_OWNER:= V_ROW.OWNER;
V_TABLE_NAME:= V_ROW.TABLE_NAME;
-- 2.데이터 이관
-- V_MV_SQL := 'sp_dbm_copy(p_tname => '''||V_ROW.TABLE_NAME||''' , p_dblink => ''DL_SCOTT_DEV_SCOTT_DBA'' , p_option => ''R'', p_exec => 1 , p_owner => '''||V_ROW.OWNER||''' , p_srcowner => '''||V_ROW.OWNER||''' , p_srctname => '''||V_ROW.OWNER||''')';
sp_dbm_copy(p_tname => V_ROW.TABLE_NAME, p_dblink => 'DL_SCOTT_STG_SCOTT_DBA', p_option => 'R', p_exec => 1 , p_owner => V_ROW.OWNER);
END LOOP;
END;
/