서로다른 DB사이에 DB링크로 연결된 두개의 테이블을 SRC 테이블에서 TARGET테이블로 COPY하는 INSERT스크립트 생성
SQL
개념은 UNION ALL을 이용해서 명령어를 APPEND하는 방식
앞이나 뒤에 필요한 SQL COMMAND를 추가할 수 있다.
나중에 프로시져로 만들어야겠다.
---------------------------------------------------------------------------------------
SELECT 'DELETE ' || TNAME || ';' FROM TAB WHERE TNAME = ' '
UNION
ALL
SELECT 'INSERT /*+ append PARALLEL*/ INTO '|| TNAME || ' (' NAME FROM
TAB WHERE TNAME = ' '
UNION ALL
SELECT NAME FROM (
SELECT
' ' ||DECODE(COLUMN_ID,1,'',',')||COLUMN_NAME NAME
FROM
user_tab_columns T1
WHERE 1=1
AND TABLE_NAME = ' '
ORDER BY
T1.COLUMN_ID
)
UNION ALL
SELECT ')' NAME FROM DUAL
UNION
ALL
SELECT 'SELECT ' NAME FROM DUAL
UNION ALL
SELECT NAME FROM
(
SELECT ' ' ||DECODE(COLUMN_ID,1,'',',')||COLUMN_NAME
NAME
FROM user_tab_columns T1
WHERE 1=1
AND TABLE_NAME =
' '
ORDER BY T1.COLUMN_ID
)
UNION ALL
SELECT 'FROM '||
TNAME || '@DIMS_REAL;' NAME FROM TAB WHERE TNAME = ' '
UNION
ALL
SELECT 'COMMIT;' FROM DUAL