ORACLE/SCRIPT2009. 12. 24. 08:27
반응형

  • SQL>set pages 0
    SQL>spool emp_insert.sql
    SQL>select 'insert into emp(empno,ename) values('''|| empno || ''',''' || ename || ''');' from scott.emp;
    SQL>spool off

  • select 'insert into emp values ('''||컬럼1||''','''||컬림2||''');' from emp;

반응형
Posted by [PineTree]
ORACLE/SQL2009. 2. 24. 10:54
반응형


서로다른 DB사이에 DB링크로 연결된 두개의 테이블을 SRC 테이블에서 TARGET테이블로 COPY하는 INSERT스크립트 생성 SQL

개념은 UNION ALL을 이용해서 명령어를 APPEND하는 방식

앞이나 뒤에 필요한 SQL COMMAND를 추가할 수 있다.

 

나중에 프로시져로 만들어야겠다.

---------------------------------------------------------------------------------------

SELECT 'DELETE ' || TNAME || ';' FROM TAB WHERE TNAME = '&nbsp'
UNION ALL
SELECT 'INSERT /*+ append PARALLEL*/ INTO   '|| TNAME || ' (' NAME FROM TAB WHERE TNAME = '&nbsp'
UNION ALL
SELECT NAME FROM (
 SELECT '          ' ||DECODE(COLUMN_ID,1,'',',')||COLUMN_NAME NAME
 FROM user_tab_columns T1
 WHERE 1=1
 AND TABLE_NAME = '&nbsp'
 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 = '&nbsp'
 ORDER BY T1.COLUMN_ID
)
UNION ALL
SELECT 'FROM  '|| TNAME || '@DIMS_REAL;' NAME FROM TAB WHERE TNAME = '&nbsp'
UNION ALL
SELECT 'COMMIT;' FROM DUAL


반응형
Posted by [PineTree]