在视图上创建约束

来源:互联网 发布:歌曲字幕特效软件 编辑:程序博客网 时间:2024/05/16 10:05

 

只有逻辑约束(logical constraint)(即由用户声明而非 Oracle 强制的约束)可以在视图上定义。定义在视图上的约束不是为了保证业务规则的正确,而是为了识别多维数据(multidimensional data)。以下约束可以定义在视图上:
  • 主键约束(Primary Key constraint)
  • 唯一约束(Unique constraint)
  • 引用完整性约束(Referential Integrity constraint)

由于定义在视图上的约束只是声明性质的(declarative),因此视图约束(view constraint)的状态(valid state)只能被设为 DISABLE,或NOVALIDATE。由于基于视图的约束还可能被用来控制复杂的查询重写(query rewrite),因此 RELYNORELY 状态也是可用的。当重写完整性级别(rewrite integrity level)被设为信任模式(trusted mode)时,将视图约束设置为RELY 状态将允许使用查询重写。

 

例如:create view view_name (column_name primary key rely disable novaliate,......) as select .......

或者:alter view view_name add constraint constraint_name unique(column_name....) rely disable novalidate;

原创粉丝点击