SET TAG and UNSET TAG
为数据库对象分配或移除标签。标签必须先使用 CREATE TAG 创建,然后才能分配。
另请参阅:CREATE TAG、TAG_REFERENCES。
语法
-- Assign tags
ALTER { DATABASE | TABLE | VIEW | STAGE | CONNECTION
| USER | ROLE | STREAM | FUNCTION | PROCEDURE }
[ IF EXISTS ] <object_name>
SET TAG <tag_name> = '<value>' [, <tag_name> = '<value>' ...]
-- Remove tags
ALTER { DATABASE | TABLE | VIEW | STAGE | CONNECTION
| USER | ROLE | STREAM | FUNCTION | PROCEDURE }
[ IF EXISTS ] <object_name>
UNSET TAG <tag_name> [, <tag_name> ...]
支持的对象类型
示例
为数据库和表添加标签
CREATE TAG env ALLOWED_VALUES = ('dev', 'staging', 'prod');
CREATE TAG owner;
ALTER DATABASE default SET TAG env = 'prod';
ALTER TABLE default.my_table SET TAG env = 'staging', owner = 'team_a';
为 stage 和 connection 添加标签
ALTER STAGE data_stage SET TAG env = 'dev', owner = 'data_team';
ALTER CONNECTION my_s3 SET TAG env = 'prod';
为视图添加标签
ALTER VIEW default.active_users SET TAG env = 'prod', owner = 'analytics';
为用户和角色添加标签
ALTER USER 'alice' SET TAG env = 'prod', owner = 'security';
ALTER ROLE analyst SET TAG env = 'dev';
为 UDF 和存储过程添加标签
ALTER FUNCTION my_udf SET TAG env = 'dev';
ALTER PROCEDURE my_proc(DECIMAL(10,2)) SET TAG env = 'prod';
移除标签
ALTER TABLE default.my_table UNSET TAG env, owner;
ALTER STAGE data_stage UNSET TAG env;
ALTER USER 'alice' UNSET TAG env, owner;