- 카테고리:
SYSTEM$GET_TAG_ON_CURRENT_COLUMN¶
지정된 태그를 기반으로 하는 열에 할당된 태그 문자열 값을 반환하거나 지정된 열에 태그가 할당되지 않은 경우에는 NULL을 반환합니다.
마스킹 정책 또는 프로젝션 정책 의 본문에 이 함수가 포함된 경우 열에 할당된 태그의 값에 따라 해당 열에 할당된 정책의 반환값이 결정될 수 있습니다.
구문¶
SYSTEM$GET_TAG_ON_CURRENT_COLUMN( '<tag_name>' )
인자¶
'tag_name'
문자열로 표시된 태그의 식별자입니다.
예를 들어 태그가
cost_center
로 명명된 경우'cost_center'
를 인수로 사용합니다.
사용법 노트¶
현재, 열에 설정된 태그 문자열 값을 동적으로 평가하기 위한 마스킹 정책 또는 프로젝션 정책 조건에서만 이 함수를 사용할 수 있습니다.
Snowflake는 SELECT 쿼리, 행 액세스 정책, 뷰 또는 사용자 정의 함수(UDF)에서 이 함수를 사용하는 동안 오류를 반환합니다.
이 함수는 테이블과 유사한 모든 오브젝트(예: 뷰)에 적용됩니다.
이 시스템 함수를 호출할 때 태그가 있어야 합니다. 그렇지 않으면 Snowflake에서 다음 오류 메시지를 반환합니다.
Tag '<tag_name>' does not exist or not authorized.
예¶
- 마스킹 정책
이 함수를 마스킹 정책과 함께 사용하는 방법에 대한 상황별 예제는 예 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;