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