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>' ]
Copy

중요

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>' ]
Copy

필수 매개 변수

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;
Copy

충돌이 있는 경우 허용된 값 목록에서 my_tag 의 값이 red 앞에 오므로 blue 가 됩니다.

기본값: 태그의 값을 CONFLICT 로 설정합니다.

COMMENT = 'string_literal'

태그에 대한 설명을 지정합니다.

기본값: 값 없음

액세스 제어 요구 사항

이 작업을 실행하는 데 사용되는 역할 에는 최소한 다음 권한 이 있어야 합니다.

권한

오브젝트

참고

CREATE TAG

스키마

OWNERSHIP

태그

  • 스키마에 이미 존재하는 오브젝트와 동일한 이름을 가진 임시 오브젝트를 생성하려면 오브젝트에 대한 OWNERSHIP 권한을 역할에 부여하거나 상속해야 합니다.

  • 기존 태그에 대한 CREATE OR ALTER TAG 문을 실행하는 데 필수입니다.

스키마의 모든 오브젝트에 대해 작업을 수행하려면 상위 데이터베이스 및 스키마에 대한 USAGE 권한.

지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.

보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.

태그 DDL 및 권한에 대한 추가적인 세부 사항은 액세스 제어 권한 섹션을 참조하십시오.

CREATE OR ALTER TAG 사용법 노트

  • ALTER TAG 명령의 모든 제한 사항이 적용됩니다.

  • 마스킹 정책 설정 또는 설정 해제는 지원되지 않습니다.

  • ALLOWED_VALUES 매개 변수는 항상 COMMENT 같은 다른 모든 매개 변수보다 먼저 설정되어야 ALLOWED_VALUES 가 작동합니다.

사용법 노트

  • Snowflake는 계정의 태그 수를 10,000개로 제한합니다.

  • 태그를 Snowflake 오브젝트와 연결하는 방법에 대한 자세한 내용은 오브젝트 태그 소개 섹션을 참조하십시오.

  • 태그 DDL 인증에 대한 자세한 내용은 필수 권한 을 참조하십시오.

  • 메타데이터 관련:

    주의

    고객은 Snowflake 서비스를 사용할 때 개인 데이터(사용자 오브젝트 제외), 민감한 데이터, 수출 통제 대상 데이터 또는 기타 규제 데이터가 메타데이터로 입력되지 않도록 해야 합니다. 자세한 내용은 Snowflake의 메타데이터 필드 섹션을 참조하십시오.

  • OR REPLACEIF NOT EXISTS 절은 상호 배타적입니다. 두 문자를 같은 문에 함께 사용할 수 없습니다.

  • CREATE OR REPLACE <오브젝트> 문은 원자성입니다. 즉, 오브젝트가 바뀔 때 단일 트랜잭션으로 이전 오브젝트가 삭제되고 새 오브젝트가 생성됩니다.

cost_center 키를 사용하여 태그를 만듭니다.

CREATE TAG cost_center COMMENT = 'cost_center tag';
Copy

cost_center 를 업데이트하여 새 허용 값을 포함하고 설명을 설정 해제합니다.

CREATE OR ALTER TAG cost_center ALLOWED_VALUES 'finance', 'engineering', 'sales';
Copy