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>' ]
베리언트 구문¶
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 <오브젝트> 명령을 사용하여 오브젝트 에 태그를 설정할 때 태그에 할당할 수 있는 가능한 문자열 값으로 이루어진, 쉼표로 구분된 목록을 지정합니다.
작동하려면 다른 모든 매개 변수가 선행되어야 합니다.
이 목록의 최대 태그 값 수는 5,000개입니다.
태그가 대상 오브젝트에 자동으로 전파되도록 구성된 경우 허용된 목록의 값 순서에 따라 충돌이 해결되는 방식에 영향을 줄 수 있습니다. 자세한 내용은 태그 전파 충돌 섹션을 참조하십시오.
기본값: 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 권한. 스키마에 대한 모든 권한 부여된 역할은 스키마를 확인할 수 있습니다. 예를 들어, 스키마에 대해 CREATE 권한을 부여받은 역할은 해당 스키마에 대한 USAGE 권한을 함께 부여받지 않더라도 해당 스키마에 대한 오브젝트를 생성할 수 있습니다.
지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.
보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
태그 DDL 및 권한에 대한 추가적인 세부 사항은 액세스 제어 권한 섹션을 참조하십시오.
일반적인 사용법 노트¶
COMMENT와 같은 다른 모든 매개 변수보다 먼저 ALLOWED_VALUES 매개 변수를 설정해야 합니다.
태그를 Snowflake 오브젝트와 연결하는 방법에 대한 자세한 내용은 오브젝트 태그 소개 섹션을 참조하십시오.
태그 DDL 인증에 대한 자세한 내용은 필수 권한 을 참조하십시오.
메타데이터 관련:
주의
고객은 Snowflake 서비스를 사용할 때 개인 데이터(사용자 오브젝트 제외), 민감한 데이터, 수출 통제 대상 데이터 또는 기타 규제 데이터가 메타데이터로 입력되지 않도록 해야 합니다. 자세한 내용은 Snowflake의 메타데이터 필드 섹션을 참조하십시오.
OR REPLACE 및 IF NOT EXISTS 절은 상호 배타적입니다. 두 절을 같은 문에 함께 사용할 수 없습니다.
CREATE OR REPLACE <오브젝트> 문은 원자성입니다. 즉, 오브젝트가 바뀔 때 단일 트랜잭션으로 이전 오브젝트가 삭제되고 새 오브젝트가 생성됩니다.
CREATE OR ALTER TAG 사용법 노트¶
이 명령을 사용하면 지정되지 않은 모든 매개 변수가 재설정됩니다. 예를 들어, 새 설명만 지정하면 PROPAGATE 매개 변수는 더 이상 태그 전파를 지원하지 않습니다.
ALTER TAG 명령의 모든 제한 사항이 적용됩니다.
마스킹 정책 설정 또는 설정 해제는 지원되지 않습니다.
예¶
cost_center 키를 사용하여 태그를 만듭니다.
CREATE TAG cost_center COMMENT = 'cost_center tag';
cost_center 를 업데이트하여 새 허용 값을 포함하고 설명을 설정 해제합니다.
CREATE OR ALTER TAG cost_center ALLOWED_VALUES 'finance', 'engineering', 'sales';
