오라클에서 ALTER TABLE ADD 스크립트를 추출하는 방법을 안내해 드리려고 합니다. 데이터 딕셔너리 테이블 중 하나인 ALL_TAB_COLUMNS를 참고하는 예제입니다.
SELECT ' ALTER TABLE '
|| OWNER
|| '.'
|| TABLE_NAME
|| ' ADD '
|| COLUMN_NAME
|| ' '
|| CASE DATA_TYPE
WHEN 'DATE'
THEN
'DATE'
WHEN 'NUMBER'
THEN
'NUMBER(' || DATA_PRECISION || ',' || DATA_SCALE || ')'
WHEN 'CHAR'
THEN
DATA_TYPE || '(' || DATA_LENGTH || ')'
WHEN 'VARCHAR2'
THEN
DATA_TYPE || '(' || DATA_LENGTH || ')'
ELSE
''
END
|| '; '
Q,
TAB.*
FROM ALL_TAB_COLUMNS TAB
WHERE TABLE_NAME = 'EMP'
AND DATA_TYPE IN ('DATE', 'NUMBER', 'CHAR', 'VARCHAR2')