SET TAG and UNSET TAG
Assigns or removes tags on database objects. Tags must be created with CREATE TAG before they can be assigned.
See also: CREATE TAG, TAG_REFERENCES.
Syntax
-- 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> ...]
Supported Object Types
Notes:
- If the tag has
ALLOWED_VALUES, the value must be one of the allowed values.UNSET TAGwith a non-existent tag name returns an error, unless the object itself does not exist andIF EXISTSis specified.- For PROCEDURE, you must include the argument type signature in the object name.
Examples
Tag a Database and Table
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';
Tag a Stage and Connection
ALTER STAGE data_stage SET TAG env = 'dev', owner = 'data_team';
ALTER CONNECTION my_s3 SET TAG env = 'prod';
Tag a View
ALTER VIEW default.active_users SET TAG env = 'prod', owner = 'analytics';
Tag a User and Role
ALTER USER 'alice' SET TAG env = 'prod', owner = 'security';
ALTER ROLE analyst SET TAG env = 'dev';
Tag a UDF and Procedure
ALTER FUNCTION my_udf SET TAG env = 'dev';
ALTER PROCEDURE my_proc(DECIMAL(10,2)) SET TAG env = 'prod';
Remove Tags
ALTER TABLE default.my_table UNSET TAG env, owner;
ALTER STAGE data_stage UNSET TAG env;
ALTER USER 'alice' UNSET TAG env, owner;