创建视图的语句是设置了 WITH CHECK OPTION 这个条件;

创建视图时,sql语句是这样写的:

CREATE  OR  REPLACE  VIEW  RZ_TST_VIEW AS WHERE SELECT * FROM RZ_TST   WHERE CARDID=12345 OR CARDID=12347    WITH CHECK OPTION;

创建成功之后如图所示:

这个时候再进行插入操作的时候,报了如上图的错误,SQL语句如下:

INSERT INTO RZ_TST_VIEW (CARDID,NAME,ADDRESS,WDATE,SALARY,TXT)VALUES(1234578,'王麻子','幸福大街欸王五三号',to_date(sysdate),20084,'试图约束测试');

分析如下:创建试图的时候,由于自己加了限制条件CARDID=12345 OR CARDID=12347,所以,在进行新增的时候,发现新增不进去,由于新增的条件CARDID=1234578

导致发现假如新增成功以后,视图是没有办法根据现有的查询条件CARDID=12345 OR CARDID=12347查询出来咱们新增加的这一条数据,所以是错误的,所以在加了这个条件之后,如果添加的数据不符合之前在创建视图的时候所查询的条件,是不允许被插进去的!

解决办法:如果非要插入进去,可以先删除原有的数据,SQL如下:

DELETE FROM RZ_TST_VIEW WHERE CARDID=12345;

再进行重新插入:INSERT INTO RZ_TST_VIEW (CARDID,NAME,ADDRESS,WDATE,SALARY,TXT)VALUES(12345,'王麻子','幸福大街欸王五三号',null,20084,'试图约束测试');

插入成功;

在更新操作的时候,是不允许更新成查询不出来的数据的,比如将CARDID=12233,更新是不被允许的;

总结:任何操作在完成后,都应该符合创建视图所规定的,即应该是可见的,可以根据创建的条件被查询出来的,否则将是不被允许的;

view WITH CHECK OPTION where-clause violation(查看与检查选项where-子句违反)的更多相关文章

  1. [每日一题] OCP1z0-047 :2013-08-04 INSERT --- WITH CHECK OPTION

    这题是考:insertWITH CHECK OPTION的用法 insert into (<select clause> WITH CHECKOPTION) values (...) 这样 ...

  2. PLSQL_基础系列05_视图控制WITH CHECK OPTION(案例)

    2014-12-09 Created By BaoXinjian

  3. with check option

    通过有with check option选项的视图操作基表(只是面对单表,对连接多表的视图正在寻找答案),有以下结论:首先视图只操作它可以查询出来的数据,对于它查询不出的数据,即使基表有,也不可以通过 ...

  4. SQL中的with check option(转)

    student表: 95001 李勇 男 20 CS 95002 刘晨 女 21 IS 95003 王敏 女 18 MA 95004 张力 男 19 IS 建立视图IS_STUDENT显示“IS”系所 ...

  5. with check option(视图 )

    建立视图的时候使用WITH CHECK OPTION 与不使用的区别 WITH CHECK OPTION insert update  delete 使用with check option 保证ins ...

  6. ORACLE 视图的 with check option

    ORACLE 视图的 with check option 我们来看下面的例子: create or replace view testview as select empno,ename from e ...

  7. 数据库中WITH CHECK OPTION的用法

      WITH CHECK OPTION:透过视图进行增删改操作时,不得破坏视图定义中的谓词条件(即子查询中的条件表达式)   例如:   create view TestView   as selec ...

  8. sqlserver-一次updlock和withnolock和with check option 的报错原因分析

    接口程序一直运行的很稳定,其中有一天进行了数据库的整改,导致程序不断报错, 报错信息如下 原因: 程序代码写入以下代码 select * from ViewName with(updlock) whe ...

  9. insert into (select...WITH CHECK OPTION) values(...)

    insert into (<subquery> WITH CHECK OPTION) values (...) 语法看起来很特殊,其实是insert进subquery的这张表里: 1. 只 ...

随机推荐

  1. python学习-dict

    a = ["秦时明月","长沙","女"]bafenshu = ["八分熟","上海"," ...

  2. Linux系统基础知识

    文件类型属性 '-'代表普通文件 'd'代表目录文件 'l'代表链接文件link 'b'代表块文件block 'c'代表字符设备文件 'p'代表管道文件

  3. Vue使用Viser

    最近产品经理发现antV的图表非常漂亮,想在项目里使用,看了下文档antV适用于Vue的分支叫Viser,Viser的官方文档写的有点随意,在此给出Vue中使用Viser的方法如下: 1.安装Vise ...

  4. CCF-CSP题解 201509-3 模板生成系统

    简单的替换一下字符串. 注意数组开大点. #include<bits/stdc++.h> const int maxm = 100; const int maxn = 100; using ...

  5. Swoole协程与传统fpm同步模式比较

    如果说数组是 PHP 的精髓,数组玩得不6的,根本不能算是会用PHP.那协程对于 Swoole 也是同理,不理解协程去用 Swoole,那就是在瞎用. 首先,Swoole 只能运行在命令行(Cli)模 ...

  6. Blockchain 基本知识

    本文是前奏,本来要介绍Azure上的Azure Blockchain Service,发现,需要从什么是区块链开始讲起... 什么是区块链?我们从比特币说起, 2008年11月,中本聪提出了比特币白皮 ...

  7. 6、UnityConfig实现AOP

    需求:我们需要给已经开发好的服务如这里的UserService,添加额外的执行逻辑,但是又不想破坏原有的服务,如:我们需要给UserService添加监控逻辑,监控的目的是看UserService服务 ...

  8. android shape实现阴影或模糊边效果

    1.实现阴影或模糊边效果方式: 2.通过shape来实现,具体是通过layer-list 多层叠放的方式实现的 <?xml version="1.0" encoding=&q ...

  9. 《Hands-On System Programming with Go》之读文件

    有点全,但不是很全. 一次读入,分批次读入,缓存读入. 要记得这几种不同读取的应用场景. package main import ( "bufio" "bytes&quo ...

  10. Windows Redis 安装(带视频)

    疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 疯狂创客圈 高并 ...