Object Identifiers

An identifier is a string of characters (up to 256 characters in length) used to identify first-class “named” objects, including table columns, in Snowflake:

  • Identifiers are specified at object creation time and then are referenced in queries and DDL/DML statements.

  • Identifiers can also be defined in queries as aliases (e.g. SELECT a+b AS "the sum";).

Object identifiers must be unique within the context of the object type and the “parent” object:

Account

Objects identifiers (for users, roles, warehouses, databases, etc.) must be unique across the entire account.

Databases

Schema identifiers must be unique within the database.

Schemas

Objects identifiers (for tables, views, file formats, stages, etc.) must be unique within the schema.

Tables

Column identifiers must be unique within the table.

Note

UDFs are schema objects, but Snowflake supports UDFs with the same identifier within the same schema (also referred to as “overloading” UDF names). For more information, see Overview of UDFs.

Stored procedures are schema objects, but Snowflake supports stored procedures with the same identifier within the same schema (also referred to as “overloading” stored procedures names). For more information, see Naming Conventions for Stored Procedures.

To enable resolving schema objects that have the same identifiers in different databases/schemas, Snowflake supports fully-qualifying objects in the form of:

<database_name>.<schema_name>.<object_name>.

Next Topics: