CREATE TAG¶
새 태그를 만들거나 시스템의 기존 태그를 바꿉니다.
이 명령은 다음 변형을 지원합니다.
CREATE OR ALTER TAG: 태그가 없는 경우 태그를 생성하거나 기존 태그를 변경합니다.
- 참고 항목:
ALTER TAG , SHOW TAGS , DROP TAG , UNDROP TAG
구문¶
CREATE [ OR REPLACE ] TAG [ IF NOT EXISTS ] <name>
[ ALLOWED_VALUES '<val_1>' [ , '<val_2>' [ , ... ] ] ]
[ PROPAGATE = { ON_DEPENDENCY_AND_DATA_MOVEMENT | ON_DEPENDENCY | ON_DATA_MOVEMENT }
[ ON_CONFLICT = { '<string>' | ALLOWED_VALUES_SEQUENCE } ] ]
[ COMMENT = '<string_literal>' ]
중요
ALLOWED_VALUES
매개 변수는 항상 COMMENT
같은 다른 모든 매개 변수보다 먼저 설정되어야 ALLOWED_VALUES
가 작동합니다.
베리언트 구문¶
CREATE OR ALTER TAG¶
아직 존재하지 않는 새 태그를 만들거나 기존 태그를 문에 정의된 태그로 변환합니다. CREATE OR ALTER TAG 문은 CREATE TAG 문의 구문 규칙을 따르며 ALTER TAG 문과 제한 사항이 동일합니다.
지원되는 변경 사항에는 ALLOWED_VALUES 및 COMMENT 속성에 대한 변경이 포함됩니다.
자세한 내용은 CREATE OR ALTER TAG 사용법 노트 섹션을 참조하십시오.
CREATE OR ALTER TAG <name>
[ ALLOWED_VALUES '<val_1>' [ , '<val_2>' [ , ... ] ] ]
[ COMMENT = '<string_literal>' ]
필수 매개 변수¶
name
태그의 식별자입니다. CREATE <오브젝트> 문 또는 ALTER <오브젝트> 문을 사용하여 오브젝트 에 태그 문자열 값을 할당합니다.
식별자 값은 알파벳 문자로 시작해야 하며 전체 식별자 문자열을 큰따옴표(예: “My object”)로 묶지 않는 한 공백이나 특수 문자를 포함할 수 없습니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.
자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.
선택적 매개 변수¶
ALLOWED_VALUES 'val_1' [ , 'val_2' [ , ... ] ]
해당 CREATE <오브젝트> 또는 ALTER <오브젝트> 명령을 사용하여 오브젝트 에 태그를 설정할 때 태그에 할당할 수 있는 가능한 문자열 값으로 이루어진, 쉼표로 구분된 목록을 지정합니다.
작동하려면 다른 모든 매개 변수가 선행되어야 합니다.
이 목록의 최대 태그 값 수는 300개입니다.
태그가 대상 오브젝트에 자동으로 전파되도록 구성된 경우 허용된 목록의 값 순서에 따라 충돌이 해결되는 방식에 영향을 줄 수 있습니다. 자세한 내용은 태그 전파 충돌 섹션을 참조하십시오.
기본값: NULL (빈 문자열 값(즉,
' '
)을 포함한 모든 문자열 값이 허용됨).PROPAGATE = { ON_DEPENDENCY_AND_DATA_MOVEMENT | ON_DEPENDENCY | ON_DATA_MOVEMENT }
태그가 원본 오브젝트에서 대상 오브젝트로 자동으로 전파되도록 지정합니다. 오브젝트 종속성, 데이터 이동 또는 둘 다 있을 때 전파되도록 태그를 구성할 수 있습니다.
ON_DEPENDENCY_AND_DATA_MOVEMENT
오브젝트 종속성 또는 데이터 이동이 있을 때 태그를 전파합니다.
ON_DEPENDENCY
오브젝트 종속성에 대한 태그를 전파하지만 데이터 이동에 대한 태그는 전파하지 않습니다.
ON_DATA_MOVEMENT
데이터 이동이 있을 때 태그를 전파하지만 오브젝트 종속성에는 전파하지 않습니다.
ON_CONFLICT = { 'string' | ALLOWED_VALUES_SEQUENCE }
전파된 태그 의 값 사이에 충돌이 발생하면 어떻게 되는지 지정합니다.
이 매개 변수를 설정하지 않고 충돌이 발생하면 태그의 값이
CONFLICT
문자열로 설정됩니다.가능한 값은 다음과 같습니다.
'string'
충돌이 발생하면 태그의 값이 지정된 문자열로 설정됩니다.
ALLOWED_VALUES_SEQUENCE
태그의 ALLOWED_VALUES 속성에 있는 값의 순서에 따라 충돌이 있을 때 사용되는 값이 결정됩니다. 예를 들어 다음과 같은 문자로 태그를 만들었다고 가정해 보겠습니다.
CREATE TAG my_tag ALLOWED_VALUES 'blue', 'red' PROPAGATE = ON_DEPENDENCY ON_CONFLICT = ALLOWED_VALUES_SEQUENCE;
충돌이 있는 경우 허용된 값 목록에서
my_tag
의 값이red
앞에 오므로blue
가 됩니다.
기본값: 태그의 값을
CONFLICT
로 설정합니다.COMMENT = 'string_literal'
태그에 대한 설명을 지정합니다.
기본값: 값 없음
액세스 제어 요구 사항¶
이 작업을 실행하는 데 사용되는 역할 에는 최소한 다음 권한 이 있어야 합니다.
권한 |
오브젝트 |
참고 |
---|---|---|
CREATE TAG |
스키마 |
|
OWNERSHIP |
태그 |
|
스키마의 모든 오브젝트에 대해 작업을 수행하려면 상위 데이터베이스 및 스키마에 대한 USAGE 권한.
지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.
보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
태그 DDL 및 권한에 대한 추가적인 세부 사항은 액세스 제어 권한 섹션을 참조하십시오.
CREATE OR ALTER TAG 사용법 노트¶
ALTER TAG 명령의 모든 제한 사항이 적용됩니다.
마스킹 정책 설정 또는 설정 해제는 지원되지 않습니다.
ALLOWED_VALUES
매개 변수는 항상COMMENT
같은 다른 모든 매개 변수보다 먼저 설정되어야ALLOWED_VALUES
가 작동합니다.
사용법 노트¶
Snowflake는 계정의 태그 수를 10,000개로 제한합니다.
태그를 Snowflake 오브젝트와 연결하는 방법에 대한 자세한 내용은 오브젝트 태그 소개 섹션을 참조하십시오.
태그 DDL 인증에 대한 자세한 내용은 필수 권한 을 참조하십시오.
메타데이터 관련:
주의
고객은 Snowflake 서비스를 사용할 때 개인 데이터(사용자 오브젝트 제외), 민감한 데이터, 수출 통제 대상 데이터 또는 기타 규제 데이터가 메타데이터로 입력되지 않도록 해야 합니다. 자세한 내용은 Snowflake의 메타데이터 필드 섹션을 참조하십시오.
OR REPLACE
및IF NOT EXISTS
절은 상호 배타적입니다. 두 문자를 같은 문에 함께 사용할 수 없습니다.CREATE OR REPLACE <오브젝트> 문은 원자성입니다. 즉, 오브젝트가 바뀔 때 단일 트랜잭션으로 이전 오브젝트가 삭제되고 새 오브젝트가 생성됩니다.
예¶
cost_center
키를 사용하여 태그를 만듭니다.
CREATE TAG cost_center COMMENT = 'cost_center tag';
cost_center
를 업데이트하여 새 허용 값을 포함하고 설명을 설정 해제합니다.
CREATE OR ALTER TAG cost_center ALLOWED_VALUES 'finance', 'engineering', 'sales';