如何克隆复制一个可能是视图的对象列表?

问题描述 投票:0回答:1

这是一个关于创建视图的雪花问题。

我们需要从一个源重新创建目标数据库中的对象列表。其中有些是表,有些是视图。很多可能在目标中已经存在,必须先放弃。

对于所有表,克隆工作是没有问题的。

CREATE OR REPLACE TABLE TO_DB.X CLONE FROM_DB.X;

但是有些对象是视图,这就会导致一个错误和潜在的(?)另一个问题。

1) 错误: 对象'X'已经作为view存在 2) 如果它不存在,那么View将被创建为Table。视图将被创建为表

所以我们需要确保Views被创建为VIEWS而不是表.怎么做?

谢谢你。

view clone snowflake-cloud-data-platform
1个回答
0
投票

我没有100%理解你的问题。 如果你想克隆视图,你不能专门克隆一个视图。 只有当模式或数据库被克隆时,视图才会被克隆(然后视图会被克隆为这些克隆中的子对象)。

如果你试图从from_db到to_db中重新创建一个视图,我建议使用 get_ddl() 函数,然后在 "to "模式数据库中执行其结果。

你问的是这个问题吗?

除非你明确地执行从视图到表的CTAS,否则视图不会被创建为表。 在CLONE操作中不会发生这种情况。

© www.soinside.com 2019 - 2024. All rights reserved.