TAG_REFERENCES

TAG_REFERENCES

각 행이 태그와 값 사이의 연결(association)을 보여주는 테이블을 반환해요. 연결된 태그와 값은 객체에 대한 직접 연결 또는 태그 상속(tag inheritance)의 결과예요.

출처: Snowflake SQL Reference - TAG_REFERENCES

본문

구문

TAG_REFERENCES( object_name , object_domain )

인자

object_name 태그 연결이 객체에 있는 경우, 참조되는 객체의 이름이에요.

시맨틱 뷰(semantic view)에서 논리 테이블, 차원(dimension), 팩트(fact), 메트릭(metric)을 식별하려면:

  • 시맨틱 뷰 이름과 논리 테이블 이름 사이에 느낌표(!)를 사용해요.
  • 논리 테이블 이름과 차원, 팩트, 메트릭 이름 사이에 마침표(.)를 사용해요.
  • 파생 메트릭(derived metric)의 경우 시맨틱 뷰 이름과 파생 메트릭 이름 사이에 마침표(.)를 사용해요.

예를 들어:

  • my_semantic_view!my_logical_table
  • my_semantic_view!my_logical_table.my_dimension
  • my_semantic_view!my_logical_table.my_fact
  • my_semantic_view!my_logical_table.my_metric
  • my_semantic_view.my_derived_metric

object_domain 태그 연결이 객체에 있는 경우, 참조 객체의 도메인(예: table, view)이에요. 태그 연결이 컬럼에 있으면 도메인은 COLUMN이에요.

다음 값 중 하나를 사용해요:

  • ACCOUNT
  • ALERT
  • BACKUP POLICY
  • BACKUP SET
  • COLUMN
  • COMPUTE POOL
  • CORTEX AGENT
  • CORTEX SEARCH SERVICE
  • DATABASE
  • DATABASE ROLE
  • FAILOVER GROUP
  • FUNCTION
  • INTEGRATION
  • INSTANCE
  • NETWORK POLICY
  • PROCEDURE
  • REPLICATION GROUP
  • ROLE
  • SCHEMA
  • SHARE
  • SNAPSHOT POLICY (deprecated; prefer BACKUP POLICY)
  • SNAPSHOT SET (deprecated; prefer BACKUP SET)
  • SNOWFLAKE INTELLIGENCE
  • STAGE
  • STREAM
  • TABLE: 뷰, 구체화된 뷰(materialized view), 외부 테이블(external table) 같은 모든 테이블 형태 객체에 이 값을 사용해요.
  • TASK
  • USER
  • WAREHOUSE

사용 시 유의사항

  • 지정한 객체에 대한 접근 권한이 있는 역할에 대해서만 결과가 반환돼요. 민감 데이터 분류와 연결된 시스템 태그에 대한 참조를 보려면 공유된 SNOWFLAKE 데이터베이스에 IMPORTED PRIVILEGES가 있는 역할을 사용해요.
  • Information Schema 테이블 함수를 호출할 때 세션에 INFORMATION_SCHEMA 스키마가 사용 중이거나 함수가 정규화된(fully-qualified) 객체 이름을 사용해야 해요. 자세한 내용은 Snowflake Information Schema를 참고하세요.

출력

이 함수는 다음 컬럼을 반환해요:

Column Data Type Description
TAG_DATABASE TEXT 태그가 설정된 데이터베이스
TAG_SCHEMA TEXT 태그가 설정된 스키마
TAG_NAME TEXT 태그의 이름. 태그의 key = value 쌍에서 key에 해당해요.
TAG_VALUE TEXT 태그의 값. 태그의 key = value 쌍에서 value에 해당해요.
APPLY_METHOD TEXT 태그가 객체에 할당된 방식을 지정해요. 가능한 값은 다음과 같아요:
- CLASSIFIED: 민감 데이터를 포함하는 것으로 분류된 컬럼에 태그가 자동으로 적용됨. label-classify_auto_map_tags 참고.
- INHERITED: 객체가 Snowflake 보안 객체 계층에서 더 상위에 있는 객체로부터 태그를 상속받음. Tag inheritance 참고.
- MANUAL: 누군가 CREATE object 또는 ALTER object 명령으로 객체에 태그를 수동으로 설정함. label-object_tagging_set 참고.
- PROPAGATED: 한 객체에서 다른 객체로 태그가 자동으로 전파됨. Automatic tag propagation with user-defined tags 참고.
- NULL: 레거시 레코드.
- NONE: 레거시 레코드.
LEVEL TEXT 태그가 설정된 객체 도메인
OBJECT_DATABASE TEXT 데이터베이스·스키마 객체에 대한 참조 객체의 데이터베이스 이름. 객체가 데이터베이스·스키마 객체가 아니면 값이 비어 있어요.
OBJECT_SCHEMA TEXT (스키마 객체에 대한) 참조 객체의 스키마 이름. 참조 객체가 스키마 객체가 아니면(예: warehouse) 값이 비어 있어요.
OBJECT_NAME TEXT 태그 연결이 객체에 있는 경우 참조 객체의 이름
DOMAIN TEXT 태그 연결이 객체에 있는 경우 참조 객체의 도메인(예: table, view). 태그 연결이 컬럼에 있으면 도메인은 COLUMN이에요.
COLUMN_NAME TEXT 참조된 컬럼의 이름. 태그 연결이 컬럼이 아니면 해당 없음.

예시

my_table 테이블과 연결된 태그 목록을 검색해요:

select *
  from table(my_db.information_schema.tag_references(my_table, table));

result 컬럼에 연결된 태그 목록을 검색해요:

select *
  from table(my_db.information_schema.tag_references(my_table.result, COLUMN));

더 알아보기 (Learn more)