ALTER TABLE: 호환되지 않는 기본값은 새 열에서 더 이상 허용되지 않음¶
ALTER TABLE 명령은 다음과 같이 동작합니다.
- 변경 전:
ALTER TABLE ADD COLUMN DEFAULT 명령을 사용하면 열의 데이터 타입과 호환되지 않는 기본값을 가진 열을 추가할 수 있었습니다. 결과 기본값을 사용할 수 없었습니다. 예를 들어, 1의 기본값이 TIMESTAMP_TZ 데이터 타입과 호환되지 않더라도 다음 명령은 성공합니다.
ALTER TABLE t ADD COLUMN x TIMESTAMP_TZ DEFAULT 1;
- 변경 후:
더 이상 ALTER TABLE ADD COLUMN DEFAULT 명령을 사용하여 열의 데이터 타입과 호환되지 않는 기본값을 가진 열을 추가할 수 없습니다. 열에 대해 호환되지 않는 기본값을 설정하려는 시도가 오류가 발생하며 실패합니다. 예:
SQL compilation error: Expression type does not match column data type, expecting DATE but got NUMBER(1,0) for column Y
다음 특정 조합은 실패합니다.
열의 데이터 타입
DEFAULT 값의 데이터 타입
VARCHAR
BOOLEAN
DATE
BOOLEAN
TIME
BOOLEAN
TIMESTAMP_LTZ
BOOLEAN
TIMESTAMP_NTZ
BOOLEAN
TIMESTAMP_TZ
BOOLEAN
FLOAT
BOOLEAN
NUMBER
BOOLEAN
BOOLEAN
VARCHAR
DATE
FLOAT
TIME
FLOAT
TIMESTAMP_LTZ
FLOAT
TIMESTAMP_NTZ
FLOAT
TIMESTAMP_TZ
FLOAT
DATE
NUMBER
TIME
NUMBER
TIMESTAMP_LTZ
NUMBER
TIMESTAMP_NTZ
NUMBER
TIMESTAMP_TZ
NUMBER
참조: 1425