ALTER TABLE: 호환되지 않는 기본값은 새 열에서 더 이상 허용되지 않음

주의

이 동작 변경 사항은 2023_08 번들에 있습니다.

번들의 현재 상태는 번들 기록 섹션을 참조하십시오.

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