티스토리 뷰

반응형

오라클에서 TABLE 생성시 또는 ALTER TABLE 구분으로 특정 컬럼에 DEFAULT 값을 설정한 후에

다시 원래대로 DEFAULT 옵션을 없앨 수 없습니다.


- 디폴트값 설정

ALTER TABLE T_TEST MODIFY T_COL DEFAULT '100';


- DEFAULT 를 없애고 싶다면 (?)

=> 오라클에서는 방법이 없습니다.

   단, 아래구문으로 마치 처음 상태로 되 돌리는 효과는 볼 수 있지만 DATA DICTIONARY에는 잔재가 남아 있습니다.

   ALTER TABLE T_TEST MODIFY T_COL DEFAULT NULL;


- 위처럼 DEFAULT NULL 를 한 후에 DICTIONARY 조회

SELECT DATA_LENGTH, DATA_DEFAULT

FROM ALL_TAB_COLS

WHERE TABLE_NAME = 'T_TEST'

    AND COLUMN_NAME = 'T_COL'

;

==> 4, NULL


* 디폴트 옵션을 주지 않은 컬럼은 DATA_LENGTH, DATA_DEFAULT 모두 NULL로 나옴.

  위에서 조회된 NULL은 값이 없는 NULL 상태가 아니라 NULL 키워드 임.  그래서 길이가 4로 표시되는 것입니다.


--- EOF ---


반응형