An identifier is a string of characters (up to 256 characters in length) used to identify all first-class “named” objects in Snowflake:
- Identifiers are specified at object creation time and then are referenced in queries and other DDL/DML statements.
- They 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 “parent” object:
- For account objects (users, roles, warehouses, databases, etc.), identifiers must be unique across the entire account.
- For database objects (schemas), identifiers must be unique within the database.
- For schema objects (tables, views, file formats, stages, etc.), identifiers must be unique within the schema.
UDFs are schema objects, but Snowflake supports overloading of UDF identifiers (i.e. UDFs in the same schema with the same identifier); for more information, see Overview of User-Defined Functions (UDFs)).
To enable resolving database and schema objects that may have the same identifiers, Snowflake supports fully-qualifying objects in the form of