[Oracle] ALTER TABLE ADD 스크립트 예제 추출하기

ALTER TABLE ADD

오라클에서 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')

댓글