首页 > 解决方案 > 创建没有数据的物化视图

问题描述

我需要创建test没有数据的物化视图,然后我将创建一个脚本来第一次将数据插入到这个物化视图中。在此之后,我将运行物化视图刷新以每晚刷新视图。

由于我不是物化视图的专家,任何人都可以在这里帮助我。

目前我有脚本来创建物化视图,该视图运行 2 小时,有 2000 万行。

create materialize view

标签: oracleplsql

解决方案


如果我正确理解了这个问题,您希望将 MV 创建分解为单独的步骤:

  1. 创建一个空表/物化视图。
  2. 填充它。
  3. 安排每晚刷新过程。

为此,您可以使用该on prebuilt table子句将普通表更改为物化视图。

演示源表:

create table demo_source (id, name) as
select 1, 'Red' from dual union all
select 2, 'Yellow' from dual union all
select 3, 'Orange' from dual union all
select 4, 'Blue' from dual;

将成为我们的 MV 的新表(您也可以使用 填充它create table as select,或者您可以像任何普通表一样使用显式列名、数据类型、约束、分区等创建它):

create table demo_mv as
select * from demo_source s
where 1 = 2;

使用单独的insert步骤填充它:

insert into demo_mv
select * from demo_source;

现在我们将它从一个常规表转换为一个 MV:

create materialized view demo_mv on prebuilt table
as
select * from demo_source;

现在DEMO_MV是物化视图。


推荐阅读