카테고리:

시스템 함수

SYSTEM$GET_TAG_ON_CURRENT_COLUMN

지정된 태그를 기반으로 하는 열에 할당된 태그 문자열 값을 반환하거나 지정된 열에 태그가 할당되지 않은 경우에는 NULL을 반환합니다.

마스킹 정책 또는 프로젝션 정책 의 본문에 이 함수가 포함된 경우 열에 할당된 태그의 값에 따라 해당 열에 할당된 정책의 반환값이 결정될 수 있습니다.

구문

SYSTEM$GET_TAG_ON_CURRENT_COLUMN( '<tag_name>' )
Copy

인자

'tag_name'

문자열로 표시된 태그의 식별자입니다.

예를 들어 태그가 cost_center 로 명명된 경우 'cost_center' 를 인수로 사용합니다.

사용법 노트

  • 현재, 열에 설정된 태그 문자열 값을 동적으로 평가하기 위한 마스킹 정책 또는 프로젝션 정책 조건에서만 이 함수를 사용할 수 있습니다.

    Snowflake는 SELECT 쿼리, 행 액세스 정책, 뷰 또는 사용자 정의 함수(UDF)에서 이 함수를 사용하는 동안 오류를 반환합니다.

  • 이 함수는 테이블과 유사한 모든 오브젝트(예: 뷰)에 적용됩니다.

  • 이 시스템 함수를 호출할 때 태그가 있어야 합니다. 그렇지 않으면 Snowflake에서 다음 오류 메시지를 반환합니다.

    Tag '<tag_name>' does not exist or not authorized.
    
    Copy

마스킹 정책

이 함수를 마스킹 정책과 함께 사용하는 방법에 대한 상황별 예제는 예 2: 열 태그 문자열 값을 기반으로 열 데이터 보호하기 섹션을 참조하십시오.

프로젝션 정책

열에 다음 프로젝션 정책이 할당된 경우 열을 프로젝션하려면 해당 열의 tags.accounting_col 태그 값이 public 이어야 합니다.

CREATE PROJECTION POLICY mypolicy
AS () RETURNS PROJECTION_CONSTRAINT ->
CASE
  WHEN SYSTEM$GET_TAG_ON_CURRENT_COLUMN('tags.accounting_col') = 'public'
    THEN PROJECTION_CONSTRAINT(ALLOW => true)
  ELSE PROJECTION_CONSTRAINT(ALLOW => false)
END;
Copy