- 类别:
SYSTEM$GET_TAG¶
返回与指定的 Snowflake 对象或列关联的标记值。如果未在指定的 Snowflake 对象或列上设置标记,则返回 NULL。
语法¶
SYSTEM$GET_TAG( '<tag_name>' , '<obj_name>' , '<obj_domain>' )
实参¶
'tag_name'作为字符串的标签的名称。
名称是标签的键值对中的
key。例如,在标签cost_center = 'sales'中,cost_center是标签的键名。对于此实参,请使用'cost_center'.'obj_name'作为字符串的对象的名称。
例如,如果表名是
my_table,则将'my_table'用作对象的名称。要指定列,请使用格式
<table_name>.<column_name>. For example,my_table.revenue。有关更多信息,请参阅 对象标识符。
'object_domain'引用对象(如表或视图)的域(如果标签关联位于对象上)。对于列,如果标签关联位于列上,则域为
COLUMN域。使用以下值之一:
'ACCOUNT''ALERT''COLUMN''COMPUTE POOL''DATABASE''DATABASE ROLE''FAILOVER GROUP''FUNCTION''INTEGRATION''INSTANCE''NETWORK POLICY''PROCEDURE''REPLICATION GROUP''ROLE''SCHEMA''SHARE''STAGE''STREAM''TABLE':将此值用于所有类似表的对象,例如视图、物化视图和外部表。'TASK''USER''WAREHOUSE'
使用说明¶
要使用此函数,需要以下内容:
用于对指定对象名称运行 DESCRIBE <object> 操作的权限。
标签所在数据库和架构上的 USAGE。
有关更多信息,请参阅 标签权限和 DDL 摘要。
共享的 SNOWFLAKE 数据库上的 IMPORTED PRIVILEGES (如果指定了 系统标签)。
示例¶
如果标签未关联到指定对象,则返回 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 | +----------------------------------------------------------------+