CREATE ICEBERG TABLE¶
Creates or replaces an Apache Iceberg™ table in the current/specified schema.
Syntax¶
This section provides an overview of the syntax for all types of Iceberg tables. The syntax for creating an Iceberg table varies considerably depending on whether you use Snowflake as the Iceberg catalog or an external Iceberg catalog.
To view the syntax, parameter descriptions, usage notes, and examples for specific use cases, see the following pages:
Snowflake as the Iceberg catalog
External Iceberg catalog
Snowflake as the Iceberg catalog¶
Where:
For additional inline constraint details, see CREATE | ALTER TABLE … CONSTRAINT.
Note
Snowflake represents columns defined as PRIMARY KEY as identifier fields in the Iceberg metadata. The IDs for these columns are populated in the metadata as identifier field IDs.
Snowflake doesn’t enforce NOT NULL and UNIQUE constraints on PRIMARY KEY columns for Iceberg tables.
For additional out-of-line constraint details, see CREATE | ALTER TABLE … CONSTRAINT.
For more information, see CREATE ICEBERG TABLE (Snowflake as the Iceberg catalog).
CREATE ICEBERG TABLE … AS SELECT (also referred to as CTAS)¶
For more information, see CREATE ICEBERG TABLE … AS SELECT.
CREATE ICEBERG TABLE … LIKE¶
For more information, see CREATE ICEBERG TABLE … LIKE.
External Iceberg catalog¶
Iceberg REST (including Snowflake Open Catalog)¶
Where:
For more information, see CREATE ICEBERG TABLE (Iceberg REST catalog).
Iceberg REST in a catalog-linked database¶
Where:
For more information, see CREATE ICEBERG TABLE (Iceberg REST catalog).
Delta files¶
For more information, see CREATE ICEBERG TABLE (Delta files in object storage).
Iceberg files in object storage¶
For more information, see CREATE ICEBERG TABLE (Iceberg files in object storage).