제약 조건 수정

제약 조건이 생성된 후에는 다음과 같습니다.

  • 제약 조건의 이름을 바꿀 수 있습니다.

  • RELY 등 일부 속성은 수정할 수 있습니다.

  • 일부 속성은 수정할 수 없습니다(예: DEFERRABLE). 이러한 속성을 수정하려면 제약 조건을 삭제하고 다시 만들어야 합니다.

  • 제약 조건의 열 정의는 수정할 수 없습니다(예: 새 열 추가, 기존 열 삭제 또는 열 순서 변경). 이러한 유형의 변경 작업을 하려면 제약 조건을 삭제하고 다시 만들어야 합니다.

제약 조건을 수정할 때 제약 조건 유형과 함께 제약 조건 이름 또는 제약 조건 정의에 있는 열을 사용하여 제약 조건을 식별할 수 있습니다. 각 테이블에는 단일 기본 키만 있을 수 있으므로, PRIMARY KEY 키워드를 사용해 기본 키를 식별할 수도 있습니다.

제약 조건이 있는 테이블을 수정하면(예: 테이블 이름 바꾸기 또는 테이블을 다른 테이블과 바꾸기) 제약 조건이 변경 사항을 반영하도록 업데이트됩니다.

이 항목의 내용:

제약 조건 이름 바꾸기

제약 조건의 이름을 바꾸려면 ALTER TABLE 명령에 다음 구문을 사용하십시오.

ALTER TABLE <table_name> RENAME CONSTRAINT <old_name> TO <new_name>;
Copy

제약 조건의 속성 수정

ALTER TABLE 명령에 다음 구문을 사용하여 제약 조건의 속성을 수정합니다.

ALTER TABLE <table_name>
    { ALTER | MODIFY } { CONSTRAINT <name> | PRIMARY KEY | { UNIQUE | FOREIGN KEY } (<column_name>, [ ... ] ) }
    { [ [ NOT ] ENFORCED ] [ VALIDATE | NOVALIDATE ] [ RELY | NORELY ] };
Copy

현재 Snowflake는 다음 제약 조건 속성 설정만 지원합니다.

  • NOT ENFORCED

  • NOVALIDATE

  • RELYNORELY

Snowflake는 ENFORCEDVALIDATE 설정을 지원하지 않습니다.

제약 조건 속성에 대한 설명은 제약 조건 속성 을 참조하십시오.

제약 조건이 있는 테이블 수정

제약 조건이 있는 테이블의 이름을 바꾸면 테이블에 대한 제약 조건은 물론이고, 테이블을 참조하는 모든 외래 키 제약 조건이 새 이름을 참조하도록 업데이트됩니다.

마찬가지로, 테이블을 다른 기존 테이블과 바꿀 경우 테이블의 모든 제약 조건이 바뀐 테이블에 그대로 유지됩니다.

테이블 이름 바꾸기 또는 테이블 바꾸기에 대한 자세한 내용은 ALTER TABLE 을 참조하십시오.