oracle 创建视图用 with check option 子句详解

来源:互联网 发布:软件介绍ppt模板 编辑:程序博客网 时间:2024/04/30 00:49

转自:http://blog.itpub.net/25380220/viewspace-712976/


oracle的视图是一个很有用的工具,在很多应用中的应用到。

在oracle视图中,对于简单视图,oracle 允许进行 dml 操作 ,这就是说明如果我们在一个表上创建了一个视图,前提是没有限制对它 dml 操作,我就可以通过这个视图往表里插入数据。正是由于这种原因,如果我们在创建视图时,用到 where 子句进行了限制。那么我们通过视图插入数据时,又会不会同样受到 where 子句的限制呢?答案是,如果你在创建视图时,使用where 子句限制时没有使用到 with check option 子句 时,当你在通过视图插入数据时,oracle 就不会检查 where 子句的限制条件。 
下面我用例子来说明:
1. 创建表
SQL> create table s_tab ( id number ) ;
Table created.

2.创建视图(不用 with check option)
SQL> create or replace view s_view
  2  as
  3  select * from s_tab
  4  where id < 5 ;
View created.

3. 插入数据测试
SQL> insert into s_view values ( 1) ;
1 row created.
SQL> insert into s_view values (10 ) ;
1 row created.
SQL> select * from s_view ;
        ID
----------
         1
SQL> select * from s_tab ;
        ID
----------
         1
        10
结果没有进行检查

4. 创建视图(用到 with check option)
SQL> create or replace view s_view
  2  as
  3  select * from s_tab
  4  where id < 5
  5  with check option ;
View created.

5. 插入数据
SQL> delete from s_tab ;
2 row deleted.
SQL> insert into s_view values ( 1) ;
1 row created.
SQL> insert into s_view values (10) ;
insert into s_view values (10)
            *
ERROR at line 1:
ORA-01402: view WITH CHECK OPTION where-clause violation
SQL> select * from s_view ;
        ID
----------
         1
SQL> select * from s_tab ;
        ID
----------
         1

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 高速路上突然遇到障碍物怎么办 被不明物蛰了怎么办 喝酒后开车撞路政护栏怎么办 电脑过了质保期怎么办 电闸推不上去怎么办啊? 寝室的电闸不亮了怎么办 海绵城市改造只挖不修怎么办 怀孕一个月做了胸透怎么办 怀孕了照了胸透怎么办 刚怀孕照了胸透怎么办 怀孕进了ct室怎么办 消防稳压罐气囊压力不够怎么办 备孕期间拍了ct怎么办 晚上睡不好老做梦怎么办 零线和地线短路怎么办 火花塞拧的过紧怎么办 眼睛被电弧光灼伤怎么办 电脑模拟器微信附近人屏蔽了怎么办 美的电压锅漏气怎么办 电压力锅排气阀漏气怎么办 win10系统上不了网怎么办 手机自拍杆坏了怎么办 车辆遭核生化打击时怎么办? 遭核生化打击时怎么办? 车辆行驶中遭核生化打击时怎么办? 硫酸气体熏到嗓子怎么办 硫酸味儿进嗓子了怎么办 吸入二氧化氯气体后怎么办 衣服84消毒 变色了怎么办 我的身份证被诈骗犯知道了怎么办 母婴店来客人少怎么办 键盘驱动被卸载了怎么办 广州 狗狗随地大小便怎么办 上海 狗狗随地大小便怎么办 服装店人流量少生意差怎么办 2018年服装店生意特别差怎么办 打印机拍的照片打出黑怎么办 租的汽车撞了怎么办 神州租车车坏了怎么办 深圳市公安局办保安员证怎么办? 老婆被车撞了后失忆了怎么办