원문 출처 : http://blog.naver.com/cherrie1225/150009204181
-------------------------------------------------------------------------------------------------
서로 다른 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
-------------------------------------------------------------------------------------------------
'IT_DBMS > Oracle' 카테고리의 다른 글
DHCP 환경에서 Oracle 10g or 11g 설치시 필요조건 (0) | 2011.04.06 |
---|---|
트랜잭션(Transaction) Control Language - COMMIT, ROLLBACK (0) | 2006.03.09 |