with check option】的更多相关文章

通过有with check option选项的视图操作基表(只是面对单表,对连接多表的视图正在寻找答案),有以下结论:首先视图只操作它可以查询出来的数据,对于它查询不出的数据,即使基表有,也不可以通过视图来操作.1.对于update,有with check option,要保证update后,数据要被视图查询出来2.对于delete,有无with check option都一样4.对于insert,有with check option,要保证insert后,数据要被视图查询出来对于没有where…
建立视图的时候使用WITH CHECK OPTION 与不使用的区别 WITH CHECK OPTION insert update  delete 使用with check option 保证insert后,数据要被视图查询出来 保证update后,数据要被视图查询出来 无要求 未使用with check option 无要求 无要求 无要求 --========================================建立测试表TAB --DROP TABLE TAB CREATE T…
insert into (<subquery> WITH CHECK OPTION) values (...) 语法看起来很特殊,其实是insert进subquery的这张表里: 1. 只有插入的值在subquery列表中,且满足where条件时才能插入成功. 2. 如果不满足subquery里的where条件的话,就不允许插入. 3. 如果插入的列不在subquery里,那么也会不允许插入. 4. 如果不加WITH CHECK OPTION则在插入时不会检查. 5. subquery其实是不…
ORACLE 视图的 with check option 我们来看下面的例子: create or replace view testview as select empno,ename from emp where ename like ‘M%’ with check option; 这里我们创建了一个视图,并使用了with check option来限制了视图. 然后我们来看一下视图包含的结果: select * from testview得到: EMPNO ENAME ———- ———–…
  WITH CHECK OPTION:透过视图进行增删改操作时,不得破坏视图定义中的谓词条件(即子查询中的条件表达式)   例如:   create view TestView   as select id,name   FROM Table   where IsCheck=1   with check option   update TestView set IsCheck=0 where id=3   这样就会报错:试图进行的插入或更新已失败,原因是目标视图或者目标视图所跨越的某一视图指定…
student表: 95001 李勇 男 20 CS 95002 刘晨 女 21 IS 95003 王敏 女 18 MA 95004 张力 男 19 IS 建立视图IS_STUDENT显示“IS”系所有学生的学号.姓名.性别. create view IS_STUDENT as select Sno,Sname,Ssex from Student where Sdept='IS' with check option; 用insert语句向视图中插入元组('95009','王五','男'),查看基…
这题是考:insertWITH CHECK OPTION的用法 insert into (<select clause> WITH CHECKOPTION) values (...) 这样的语法看起来有点特点,其实insert是插入到查询里的这张表里,只不过如果不满足子查询里的where条件的话,就不允许插入.如果插入的列有不在子查询作为检查的where条件里,那么也会不允许插入.如果不加WITH CHECK OPTION则在插入时不会检查. OK!我们根据题意先来做测试: SQL> I…
接口程序一直运行的很稳定,其中有一天进行了数据库的整改,导致程序不断报错, 报错信息如下 原因: 程序代码写入以下代码 select * from ViewName with(updlock) where XXX 而数据库的这个view代码如下 select * from tableName with(nolock) where XX 只要执行这个查询,就会导致以上错误,以上错误代码,一个需要加锁,一个不需要加锁,故报错了 故将数据库的view进行这样写 select * from tableN…
创建视图的语句是设置了 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…