我有一个物化视图,有时在我们的数据管道进行全面刷新时,这个视图会被擦掉。有没有办法在查询中加入一些逻辑来刷新它是否存在,如果不存在,则创建它?
像这样
refresh materialized view my_mat_view
if my_mat_view does not exist then execute the code below
create materialized view my_mat_view as select * from table
一种方法是在查询中使用 create .. if not exists
选项的情况下,然后运行 refresh
无条件地。
create materialized view if not exists my_mat_view
as
select *
from table
with no data; --<< don't populate the data just yet
-- the mview will exists now, no matter what
refresh materialized view my_mat_view;