SYSTEM$GET_TAG

SYSTEM$GET_TAG (태그 값 반환)

지정한 Snowflake 객체 또는 컬럼과 연결된 태그 값을 반환해요. 지정한 객체 또는 컬럼에 태그가 설정되어 있지 않으면 NULL을 반환해요.

출처: Snowflake SQL Reference - SYSTEM$GET_TAG

본문

구문

SYSTEM$GET_TAG( '<tag_name>' , '<obj_name>' , '<obj_domain>' )

인자

'<tag_name>'

태그 이름을 문자열로 나타낸 값이에요. 이름은 태그의 키-값 쌍에서 키예요. 예를 들어 cost_center = 'sales' 태그에서 cost_center가 태그의 키 이름이에요. 이 인자에는 'cost_center'를 사용해요.

'<obj_name>'

객체 이름을 문자열로 나타낸 값이에요. 예를 들어 테이블 이름이 my_table이면 객체 이름으로 'my_table'을 사용해요. 컬럼을 지정하려면 <table_name>.<column_name> 형식을 사용해요. 예: my_table.revenue. 시맨틱 뷰에서 논리 테이블, 차원, 팩트 또는 지표를 식별하려면: 시맨틱 뷰 이름과 논리 테이블 이름 사이에 느낌표(!)를 사용해요. 논리 테이블 이름과 차원·팩트·지표 이름 사이에 마침표(.)를 사용해요. 파생 지표의 경우 시맨틱 뷰 이름과 파생 지표 이름 사이에 마침표(.)를 사용해요. 예:

  • '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>'

태그 연결이 객체에 있는 경우 참조 객체의 도메인(예: 테이블 또는 뷰)이에요. 태그 연결이 컬럼에 있으면 도메인은 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'(더 이상 사용되지 않음; 'BACKUP POLICY' 선호)
  • 'SNAPSHOT SET'(더 이상 사용되지 않음; 'BACKUP SET' 선호)
  • 'SNOWFLAKE INTELLIGENCE'
  • 'STAGE'
  • 'STREAM'
  • 'TABLE': 뷰, 구체화된 뷰, 외부 테이블 같은 모든 테이블 유사 객체에 사용해요.
  • 'TASK'
  • 'USER'
  • 'WAREHOUSE'

사용 참고 사항

  • 이 함수를 사용하려면 다음이 필요해요:
    • 지정한 객체 이름에 대해 DESCRIBE 작업을 실행할 권한
    • 태그가 존재하는 데이터베이스와 스키마에 대한 USAGE 권한. 자세한 내용은 태그 권한 및 DDL 요약을 참고해요.
    • 시스템 분류 태그를 지정하면 공유 SNOWFLAKE 데이터베이스에 대한 IMPORTED PRIVILEGES 권한
    • 태그가 다중 값 태그이고 둘 이상의 값이 할당되어 있으면 이 함수는 오류를 반환해요. 특정 값을 테스트하려면 SYSTEM$TAG_VALUE_CONTAINS를 사용해요.
    • 예시

      지정한 객체에 태그가 연결되어 있지 않으면 NULL을 반환해요:

      select system$get_tag('cost_center', 'my_table', 'table');
      
      +-----------------------------------------------------+
      | SYSTEM$GET_TAG('COST_CENTER', 'MY_TABLE', 'TABLE')  |
      +-----------------------------------------------------+
      | NULL                                                |
      +-----------------------------------------------------+
      

      지정한 테이블의 태그 값을 반환해요. 태그 값은 태그의 key = 'value' 쌍에서 문자열 구성 요소예요:

      select system$get_tag('cost_center', 'my_table', 'table');
      
      +-----------------------------------------------------+
      | SYSTEM$GET_TAG('COST_CENTER', 'MY_TABLE', 'TABLE')  |
      +-----------------------------------------------------+
      | sales                                               |
      +-----------------------------------------------------+
      

      지정한 컬럼의 태그 값을 반환해요:

      select system$get_tag('fiscal_quarter', 'my_table.revenue', 'column');
      
      +----------------------------------------------------------------+
      | SYSTEM$GET_TAG('FISCAL_QUARTER', 'MY_TABLE.REVENUE', 'COLUMN') |
      +----------------------------------------------------------------+
      | Q1                                                             |
      +----------------------------------------------------------------+
      

      더 알아보기