제약 조건 수정하기¶
제약 조건이 생성된 후 다음과 같은 방법으로 수정할 수 있습니다.
제약 조건의 이름을 바꿀 수 있습니다.
일부 속성은 수정할 수 있습니다(예: RELY).
일부 속성은 수정할 수 없습니다(예: DEFERRABLE). 이러한 속성을 수정하려면 제약 조건을 삭제하고 다시 생성해야 합니다.
제약 조건에 대한 열 정의는 수정할 수 없습니다. 예를 들어, 새 열을 추가하거나 기존 열을 삭제하거나 열 순서를 변경할 수 없습니다. 이러한 유형의 변경을 수행하려면 제약 조건을 삭제하고 다시 생성해야 합니다.
제약 조건을 수정할 때 제약 조건 유형과 함께 제약 조건 이름 또는 제약 조건 정의의 열을 사용하여 제약 조건을 식별합니다. 각 테이블에는 하나의 PRIMARY KEY만 포함될 수 있으므로 기본 키는 PRIMARY KEY 키워드를 사용하여 식별할 수도 있습니다.
제약 조건이 있는 테이블을 수정하면(예: 테이블 이름 바꾸기 또는 테이블을 다른 테이블과 바꾸기) 제약 조건이 변경 사항을 반영하도록 업데이트됩니다.
제약 조건 이름 바꾸기¶
제약 조건의 이름을 바꾸려면 ALTER TABLE 명령에 다음 구문을 사용하십시오.
제약 조건의 속성 수정하기¶
ALTER TABLE 명령에 다음 구문을 사용하여 제약 조건의 속성을 수정합니다.
CHECK 제약 조건의 경우 constraint_name 은 필수입니다. 또한 CHECK 제약 조건과 연결된 expr 은 수정할 수 없습니다. expr 을 수정하려면 CHECK 제약 조건을 삭제하고 다시 생성해야 합니다.
현재 Snowflake는 다음 제약 조건 속성 설정만 지원합니다.
[ NOT ] ENFORCED
NOVALIDATE 및 VALIDATE
RELY 및 NORELY
Snowflake는 ENFORCED 설정을 지원하지 않습니다. Snowflake는 CHECK 제약 조건에 대한 NOVALIDATE 설정만 지원합니다. ENABLE 및 VALIDATE 속성의 기본값이 아닌 값 섹션을 참조하세요.
제약 조건 속성에 대한 설명은 제약 조건 속성 을 참조하십시오.
제약 조건이 있는 테이블 수정하기¶
제약 조건이 있는 테이블의 이름을 바꾸면 테이블에 대한 제약 조건 및 테이블을 참조하는 모든 FOREIGN KEY 제약 조건이 새 이름을 참조하도록 업데이트됩니다.
마찬가지로, 테이블을 다른 테이블, 기존 테이블과 바꿀 경우 테이블의 모든 제약 조건이 바뀐 테이블에 그대로 유지됩니다.
테이블 이름 바꾸기 또는 테이블 바꾸기에 대한 자세한 내용은 ALTER TABLE 을 참조하십시오.