Oracle查看force not null约束

Oracle查看force not null约束

问题描述:

有没有办法在Oracle视图中为列强制非null约束。 Oracle对底层源表的视图进行约束。但即时通讯使用列上的一些功能,使视图约束为空。我知道列中的数据不会为空。有没有办法强制它?你能帮忙吗?Oracle查看force not null约束

create table a (col_1 date not null); 

desc a; 

Name Null  Type 
----- -------- ---- 
COL_1 NOT NULL DATE 


CREATE OR REPLACE FORCE VIEW V1 
as select col_1+1 col_1 from a; 

desc v1; 

Name Null Type 
----- ---- ---- 
COL_1  DATE 

以上是约束更改的示例。提前致谢。

这是不可能的。从https://docs.oracle.com/database/121/.../clauses002.htm#SQLRF52180

视图约束

Oracle数据库不强制视图约束。但是,您可以通过对基表的约束强制实施视图约束。

您只能在视图上指定唯一的主键和外键约束,并且仅在DISABLE NOVALIDATE模式下才支持它们。您无法定义对象列的属性的视图约束。