我们只想复制元数据。当前,雪花似乎只允许克隆数据。我们只想克隆没有数据的对象。有可能吗?
senge11 回答:在雪花中,是否有一种方法可以在不包含数据的情况下克隆数据库,模式或表?
对于单个表,
CREATE TABLE new_table LIKE old_table COPY GRANTS;
这个问题已被多次询问和回答,例如:
Clone Snowflake metadata only,来自Mike Walton。
在链接中对SCHEMA
和DATABASE
的建议答案:
-
CREATE <object> new_obj CLONE old_obj
- 对于new_obj中的所有表:
TRUNCATE TABLE obj_table
有一些解决方案
克隆并截断
CREATE TABLE myNewTable CLONE myTable;
TRUNCATE TABLE myNewTable;
使用过滤器将表创建为选择
CREATE TABLE myNewTable AS
SELECT * FROM myTable WHERE 1=0;
生成表的DDL,然后运行它
SELECT GET_DDL( 'table','mytable' );