首页 > 解决方案 > 使用 NOT NULL 列创建物化视图?(dblink 到外部表)

问题描述

我创建了一个物化视图,用于同步来自外部系统的数据(按 5 秒的时间表;通过 dblink)。


create materialized view log on my_external_sys.workorder with rowid;  --external system 

create materialized view my_primary_sys.wo_mv --primary system 
build immediate 
refresh force 
on demand 
start with sysdate next sysdate + (5/(60*60*24))
as
select
    cast(workorderid as number(38,0)) as objectid,
    wonum,
    status,
    --other fields
    longitudex,
    latitudey
from
    my_external_sys.workorder@gistomax --dblink

物化视图按预期工作。

但是,我现在意识到我的主系统对其表(或者,在本例中为 MV)有特殊要求。


问题:

有没有办法创建一个物化视图(通过 dblink 到外部数据库/表),它有一个带有 NOT NULL 约束的列?

标签: oracleconstraintsmaterialized-viewsdblinknotnull

解决方案


我错误地认为alter table这不适用于 MV。

但它完全有效。

alter table my_primary_sys.wo_mv modify objectid not null;

那很简单。


推荐阅读