哪些视图上不能进行DML操作

视图中使用DML的规定

a)        可以在简单视图中执行 DML操作

b)        当视图定义中包含以下元素之一时不能使用delete:

                                      i.             组函数

                                    ii.             GROUP BY子句

                                   iii.             DISTINCT关键字

                                   iv.             ROWNUM 伪列 DUAL伪表

c)        当视图定义中包含以下元素之一时不能使用update:

                                      i.             组函数

                                    ii.             GROUP BY子句

                                   iii.             DISTINCT关键字

                                   iv.             ROWNUM 伪列

                                    v.             列的定义为表达式

d)        当视图定义中包含以下元素之一时不能使用insert:

                                      i.             组函数

                                    ii.             GROUP BY子句

                                   iii.             DISTINCT关键字

                                   iv.             ROWNUM 伪列

                                    v.             列的定义为表达式

                                   vi.             中非空的列在视图定义中未包括

 

  WITH CHECK OPTION 子句

a)        使用 WITH CHECKOPTION 子句确保DML只能在特定的范围内执行

 

[sql]   view plain copy
  1. CREATE OR REPLACE VIEW empvu20  
  2. AS SELECT         *  
  3.    FROM     employees  
  4.    WHERE    department_id = 20  
  5.    WITH CHECK OPTIONCONSTRAINT empvu20_ck ;  


View created.


b)        任何违反WITH CHECKOPTION 约束的请求都会失败

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值