Skip to main content

TAG_REFERENCES

Introduced or updated: v1.2.866

Returns all tags assigned to a specified database object. Use this function to audit tag assignments for governance and compliance.

See also: SET TAG / UNSET TAG

Syntax

SELECT * FROM TAG_REFERENCES('<object_name>', '<domain>')
ParameterDescription
object_nameName of the object. For tables/views/streams, use db.name format. For procedures, include the type signature (e.g., my_proc(INT)).
domainObject type: DATABASE, TABLE, VIEW, STREAM, STAGE, CONNECTION, USER, ROLE, UDF, or PROCEDURE.

Output Columns

ColumnTypeDescription
tag_nameStringName of the tag
tag_valueStringValue assigned to the tag
object_databaseNullable(String)Database name (NULL for STAGE, CONNECTION, USER, ROLE, UDF, PROCEDURE)
object_idNullable(UInt64)Object ID (non-NULL only for DATABASE, TABLE, VIEW)
object_nameStringName of the object
domainStringObject type

Examples

Query Tags on a Table

CREATE TAG env ALLOWED_VALUES = ('dev', 'staging', 'prod');
CREATE TAG owner;

CREATE TABLE default.users (id INT, name STRING);
ALTER TABLE default.users SET TAG env = 'prod', owner = 'team_a';

SELECT * EXCLUDE(object_id) FROM TAG_REFERENCES('default.users', 'TABLE');

┌───────────────────────────────────────────────────────────────────────┐
│ tag_name │ tag_value │ object_database │ object_name │ domain │
├──────────┼───────────┼─────────────────┼─────────────┼──────────────┤
│ env │ prod │ default │ users │ TABLE
│ owner │ team_a │ default │ users │ TABLE
└───────────────────────────────────────────────────────────────────────┘

Query Tags on a Stage

CREATE STAGE data_stage;
ALTER STAGE data_stage SET TAG env = 'staging', owner = 'data_team';

SELECT * EXCLUDE(object_id) FROM TAG_REFERENCES('data_stage', 'STAGE');

┌───────────────────────────────────────────────────────────────────────┐
│ tag_name │ tag_value │ object_database │ object_name │ domain │
├──────────┼───────────┼─────────────────┼─────────────┼──────────────┤
│ env │ staging │ NULL │ data_stage │ STAGE │
│ owner │ data_team │ NULL │ data_stage │ STAGE │
└───────────────────────────────────────────────────────────────────────┘

Query Tags on a Database

ALTER DATABASE default SET TAG env = 'prod';

SELECT * EXCLUDE(object_id) FROM TAG_REFERENCES('default', 'DATABASE');

┌───────────────────────────────────────────────────────────────────────┐
│ tag_name │ tag_value │ object_database │ object_name │ domain │
├──────────┼───────────┼─────────────────┼─────────────┼──────────────┤
│ env │ prod │ defaultdefaultDATABASE
└───────────────────────────────────────────────────────────────────────┘
Try Databend Cloud for FREE

Multimodal, object-storage-native warehouse for BI, vectors, search, and geo.

Snowflake-compatible SQL with automatic scaling.

Sign up and get $200 in credits.

Try it today