Creating constraints¶
CREATE TABLE 을 사용해 테이블을 만들 때 제약 조건을 만들거나, ALTER TABLE 을 사용해 나중에 테이블에 제약 조건을 추가할 수 있습니다.
단일 열 제약 조건은 열 정의의 일부로 인라인으로 만들 수 있습니다.
Multi-column constraints must be created with a separate out-of-line clause that specifies the columns in the constraint.
제약 조건을 만들려면 제약 조건을 만드는 데 사용되는 역할에 특정 액세스 제어 권한을 부여해야 합니다. 자세한 내용은 액세스 제어 요구 사항 섹션을 참조하십시오.
Creating constraints inline¶
다음 인라인 구문은 단일 열 제약 조건에만 사용할 수 있습니다.
inline_constraint 구문 세부 정보는 CREATE | ALTER TABLE … CONSTRAINT 를 참조하십시오.
Creating constraints out-of-line¶
다음 아웃오브 라인 구문은 다중 열 제약 조건에 사용해야 하지만, 단일 열 제약 조건에도 사용할 수 있습니다.
outofline_constraint 구문 세부 정보는 CREATE | ALTER TABLE … CONSTRAINT 를 참조하십시오.
CREATE TABLE … LIKE 및 CLONE의 제약 조건¶
Snowflake는 CREATE TABLE 을 사용해 테이블 복사본 만들기를 지원합니다.
빈 복사본을 만들려면 CREATE TABLE … LIKE를 사용하십시오.
복제본을 만들려면 CREATE TABLE … CLONE을 사용하십시오.
그 밖에도, 스키마 또는 데이터베이스를 복제하면 테이블의 복사본이 자동으로 생성됩니다.
테이블의 복사본을 만드는 방식과 상관없이, 원본 테이블에 대한 제약 조건도 복사됩니다. 참조하는 테이블(외래 키 테이블) 및 참조되는 테이블(기본 키 테이블)과 함께 외래 키를 복사할 때 다음 상황이 발생할 수 있습니다.
두 테이블이 모두 같은 명령으로 복사되는 경우(예: 스키마 또는 데이터베이스 복제 중) 참조하는 새 테이블과 참조되는 테이블 사이에 새 외래 키가 생성됩니다.
참조하는 테이블만 복사되는 경우 참조하는 테이블에 새 외래 키가 생성되는데, 이는 원래 기본 키 테이블을 참조되는 테이블로 가리키는 것입니다.
If only the referenced table is copied, no new foreign keys are created, although the primary or unique keys are copied.
결과적으로, 자신이 참조하는 테이블과 참조되는 테이블을 따로 복사하는 경우 새 외래 키를 수동으로 만들거나 새 외래 키의 기본 키 테이블을 수동으로 변경해야 합니다.