Use CREATE TABLE … CLONE or CREATE TABLE AS SELECT (CTAS) to duplicate a table—including data and structure—from one Snowflake database to another.
Use CREATE TABLE target_db.schema.table CLONE source_db.schema.table;
. CLONE copies the full structure and data instantly without rewriting files.
Choose CREATE TABLE AS SELECT
(CTAS) when you need to filter, transform, or only copy a subset of columns/rows while duplicating.
You need USAGE
on both databases and schemas, plus CREATE TABLE
in the target schema. To clone, you also need SELECT
on the source table.
CLONE does not copy grants by default. Run SHOW GRANTS ON TABLE source_db.schema.table
then re-apply with GRANT
statements on the new table.
Always prefix with database.schema
to avoid ambiguities when connected to the target database.
1. Create the analytics database and schema if needed.
2. Issue the CLONE statement.
3. Re-grant privileges.
1. Decide which columns/rows to copy.
2. Write the CREATE TABLE AS SELECT
query.
3. Verify row count.
Yes. CLONE copies the table definition, constraints, clustering keys, and hidden metadata instantly.
No. Snowflake uses zero-copy storage. Only changed micro-partitions consume additional space after the clone.
Not directly. Export to stage or use Snowflake Secure Data Sharing to move data between accounts.