SYSTEM$GET_TAG_ON_CURRENT_COLUMN
SYSTEM$GET_TAG_ON_CURRENT_COLUMN
지정된 태그(tag)를 기준으로 컬럼에 할당된 태그 문자열 값을 반환하거나, 지정된 컬럼에 태그가 할당되지 않았으면 NULL을 반환해요.
마스킹 정책(masking policy) 또는 투영 정책(projection policy)의 본문에 이 함수가 포함되면, 컬럼에 할당된 태그의 값이 해당 컬럼에 할당된 정책의 반환 값을 결정할 수 있어요.
본문
구문 (Syntax)
SYSTEM$GET_TAG_ON_CURRENT_COLUMN( '' )
인자 (Arguments)
'tag_name'— 태그의 식별자를 문자열로 지정해요. 예를 들어 태그 이름이cost_center면 인자로'cost_center'를 사용해요.
사용 노트 (Usage Notes)
- 현재 이 함수는 마스킹 정책 또는 투영 정책 조건에서만 사용하여 컬럼에 설정된 태그 문자열 값을 동적으로 평가할 수 있어요. SELECT 쿼리, 행 액세스 정책(row access policy), 뷰, 또는 사용자 정의 함수(UDF)에서 이 함수를 사용하면 Snowflake가 오류를 반환해요.
- 이 함수는 뷰와 같은 모든 테이블형 객체에 적용된다는 점에 유의해요.
- 태그가 다중 값(multi-value) 태그이고 둘 이상의 값이 할당되면, 이 함수는 오류를 반환해요. 정책 조건에서 다중 값 태그를 참조하지 마세요.
- 이 시스템 함수를 호출할 때 태그가 존재해야 해요; 그렇지 않으면 Snowflake는 다음 오류 메시지를 반환해요:
Tag '' does not exist or not authorized.
예제 (Examples)
마스킹 정책: 마스킹 정책과 함께 이 함수를 사용하는 방법에 대한 맥락 예제는 "예제 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;
더 알아보기
- Snowflake 시스템 함수 — 관련 시스템 함수 전체 목록