CREATE TAG¶
Creates a new tag or replaces an existing tag in the system.
- See also:
Syntax¶
CREATE [ OR REPLACE ] TAG [ IF NOT EXISTS ] <name> [ COMMENT = '<string_literal>' ]
CREATE [ OR REPLACE ] TAG [ IF NOT EXISTS ] <name>
[ ALLOWED_VALUES '<val_1>' [ , '<val_2>' [ , ... ] ] ]
[ COMMENT = '<string_literal>' ]
Important
The parameter ALLOWED_VALUES
must always be set before all other parameters, such as COMMENT
, for
ALLOWED_VALUES
to work.
Required parameters¶
name
Identifier for the tag. Assign the tag string value on an object using either a CREATE <object> statement or an ALTER <object> statement.
The identifier value must start with an alphabetic character and cannot contain spaces or special characters unless the entire identifier string is enclosed in double quotes (e.g. “My object”). Identifiers enclosed in double quotes are also case-sensitive.
For more details, see Identifier requirements.
Optional parameters¶
ALLOWED_VALUES 'val_1' [ , 'val_2' [ , ... ] ]
Specifies a comma-separated list of the possible string values that can be assigned to the tag when the tag is set on an object using the corresponding CREATE <object> or ALTER <object> command.
Must come before all other parameters to work.
The maximum number of tag values in this list is 300.
Default: NULL (all string values are allowed, including an empty string value (i.e.
' '
)).COMMENT = 'string_literal'
Specifies a comment for the tag.
Default: No value
Access control requirements¶
A role used to execute this SQL command must have the following privileges at a minimum:
Privilege |
Object |
Notes |
---|---|---|
CREATE TAG |
Schema |
Note that operating on any object in a schema also requires the USAGE privilege on the parent database and schema.
For instructions on creating a custom role with a specified set of privileges, see Creating custom roles.
For general information about roles and privilege grants for performing SQL actions on securable objects, see Overview of Access Control.
For additional details on tag DDL and privileges, see Managing tags.
Usage notes¶
Snowflake limits the number of tags in an account to 10,000.
For more information on how tags can be associated to Snowflake objects, see Object Tagging.
For more information on tag DDL authorization, see required privileges.
Regarding metadata:
Attention
Customers should ensure that no personal data (other than for a User object), sensitive data, export-controlled data, or other regulated data is entered as metadata when using the Snowflake service. For more information, see Metadata fields in Snowflake.
CREATE OR REPLACE <object> statements are atomic. That is, when an object is replaced, the old object is deleted and the new object is created in a single transaction.
Examples¶
Create a tag with the key cost_center
.
CREATE TAG cost_center COMMENT = 'cost_center tag';