a테이블을 a_OLD로 테이블만 복사후
컬럼을 추가하여
a_cdc로 생성시 a_cdc테이블의 컬럼이 a컬럼과 순서가 완전 뒤바뀝니다
컬럼 순서가 변경되지않는방법이 있을까요?
아래와 같이 스크립트를 만들어서 사용하려고합니다.
1 2 3 4 5 6 7 8 9 10 11 | select 'create' , 'table' ,rtrim(table_name, '_OLD' ), 'as' , 'select' , 'cast(' ,chr( '39' )|| 'seq_no' ||chr( '39' ), 'as number(20)) as seq_no,' ,listagg(column_name, ',' ), ',' , 'cast(' ,chr( '39' )|| 'db_user' ||chr( '39' ), 'as varchar(45)) as db_user,' , 'from' , table_name|| ';' from all_tab_columns where table_name like '%_OLD' group by table_name; |
1 2 3 4 5 6 7 8 9 10 11 | SELECT 'CREATE TABLE ' || REPLACE (table_name, '_OLD' , '_CDC' ) || ' AS SELECT' || ' CAST(null AS NUMBER(20)) seq_no, ' || LISTAGG(column_name, ', ' ) WITHIN GROUP ( ORDER BY column_id) || ', CAST(null AS VARCHAR2(45)) db_user' || ' FROM ' || table_name || ';' sql FROM user_tab_columns WHERE table_name LIKE '%_OLD' GROUP BY table_name ; |