在视图上创建约束

 

只有逻辑约束(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;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值