with check option(视图 )
建立视图的时候使用WITH CHECK OPTION 与不使用的区别
| WITH CHECK OPTION | |||
| insert | update | delete | |
| 使用with check option | 保证insert后,数据要被视图查询出来 | 保证update后,数据要被视图查询出来 | 无要求 |
| 未使用with check option | 无要求 | 无要求 |
无要求 |
--========================================建立测试表TAB
--DROP TABLE TAB
CREATE TABLE TAB
(
ID INT,
NAME VARCHAR(10),
LOC VARCHAR(100)
)
---=======================================插入业务数据测试
INSERT INTO TAB SELECT 1,'JACK','ChangSha' UNION ALL
SELECT 2,'TOM','ShangHai' UNION ALL
SELECT 3,'JACK','Kunming' UNION ALL
SELECT 4,'JACK','Hubei' --===================================建立视图
--1.含有WITH CHECK OPTION的
--DROP VIEW V_WCO
GO
CREATE VIEW V_WCO
AS
SELECT * FROM TAB WHERE NAME='TOM'
WITH CHECK OPTION; --2.不含有WITH CHECK OPTION的
--DROP VIEW V_WCO_2
CREATE VIEW V_WCO_2
AS
SELECT * FROM TAB WHERE NAME='TOM'
--================更新视图============--
--###########===INSERT===############--
--INSERT 视图查询结果集中不包含的记录 Insert into V_WCO SELECT 5,'JACK','QuJin' --INSERT 视图查询结果集中包含的记录
insert into V_WCO SELECT 5,'TOM','QuJin'
/*
消息 550,级别 16,状态 1,第 1 行
试图进行的插入或更新已失败,原因是目标视图或者目标视图所跨越的某一视图指定了 WITH CHECK OPTION,而该操作的一个或多个结果行又不符合 CHECK OPTION 约束。
语句已终止。
*/ --###########===DELETE===############-- delete from V_WCO where ID=1
/*
(0 行受影响)
*/ --###########===UPDATE===############--
---update V_WCO
update V_WCO set NAME='已更新' WHERE ID=1
--(0 行受影响)
update V_WCO set NAME='已更新' WHERE ID=2
--(1 行受影响)
with check option(视图 )的更多相关文章
- PLSQL_基础系列05_视图控制WITH CHECK OPTION(案例)
2014-12-09 Created By BaoXinjian
- ORACLE 视图的 with check option
ORACLE 视图的 with check option 我们来看下面的例子: create or replace view testview as select empno,ename from e ...
- with check option
通过有with check option选项的视图操作基表(只是面对单表,对连接多表的视图正在寻找答案),有以下结论:首先视图只操作它可以查询出来的数据,对于它查询不出的数据,即使基表有,也不可以通过 ...
- insert into (select...WITH CHECK OPTION) values(...)
insert into (<subquery> WITH CHECK OPTION) values (...) 语法看起来很特殊,其实是insert进subquery的这张表里: 1. 只 ...
- 数据库中WITH CHECK OPTION的用法
WITH CHECK OPTION:透过视图进行增删改操作时,不得破坏视图定义中的谓词条件(即子查询中的条件表达式) 例如: create view TestView as selec ...
- SQL中的with check option(转)
student表: 95001 李勇 男 20 CS 95002 刘晨 女 21 IS 95003 王敏 女 18 MA 95004 张力 男 19 IS 建立视图IS_STUDENT显示“IS”系所 ...
- view WITH CHECK OPTION where-clause violation(查看与检查选项where-子句违反)
创建视图的语句是设置了 WITH CHECK OPTION 这个条件; 创建视图时,sql语句是这样写的: CREATE OR REPLACE VIEW RZ_TST_VIEW AS WHER ...
- [每日一题] OCP1z0-047 :2013-08-04 INSERT --- WITH CHECK OPTION
这题是考:insertWITH CHECK OPTION的用法 insert into (<select clause> WITH CHECKOPTION) values (...) 这样 ...
- sqlserver-一次updlock和withnolock和with check option 的报错原因分析
接口程序一直运行的很稳定,其中有一天进行了数据库的整改,导致程序不断报错, 报错信息如下 原因: 程序代码写入以下代码 select * from ViewName with(updlock) whe ...
随机推荐
- 重构18-Replace exception with conditional(条件替代异常)
重构没有什么出处,是我平时经常使用而总结出来的.欢迎您发表任何改进意见或建议.我相信一定还有其他比较好的重构可以解决类似的问题. 我曾无数次面对的一个代码坏味道就是,使用异常来控制程序流程.您可能会 ...
- linux_cpu信息查询
查看cpu信息: [root@css-management ~]# cat /proc/cpuinfo processor : 0vendor_id : GenuineIntelcpu family ...
- Objective-C 高级编程:iOS与OS X多线程和内存管理
<Objective-C 高级编程:iOS与OS X多线程和内存管理> 基本信息 原书名: Pro Multithreading and Memory Management for iOS ...
- Linux常用命令之sed
标题:sed命令的使用 作用:sed(stream editer)是以行为单位处理文本数据,可以对数据按行进行选取(显示打印).替换.删除和新增等功能. 工作流程:sed是一个流编辑器,它可以对从标准 ...
- linux-启动停止重启shell 简单shell示例
停止: #!/bin/bashpid=`ps -ef|grep /opt/lampp|grep -v grep|awk '{print $2}'|wc -l`b=0if [ $pid -gt $b ] ...
- CentOS对新加入的硬盘格式化
[root@rac1 ~]# fdisk /dev/sdbDevice contains neither a valid DOS partition table, nor Sun, SGI or OS ...
- python学习好书推荐
1. 编程小白的第一本 Python 入门书 http://www.ituring.com.cn/book/1863 点评:知识体系全面,作者也是功底深厚.对全面了解python非常有帮助.入门级推 ...
- C#之ArrayList
using System.Collections; 新建: ArrayList list = new ArrayList(); 添加元素: int a = 1; list.Add(a); 遍历: fo ...
- MongoDB - The mongo Shell, Data Types in the mongo Shell
MongoDB BSON provides support for additional data types than JSON. Drivers provide native support fo ...
- Ubuntu系统下载工具的推荐
源 起 大家在上手一段时间Ubuntu系统后,可能突然想起最近新出了一些电影想要下载来看看,但如果用Wine运行迅雷,不是没反应就是启动后也不能下载,针对这个问题,根据我的使用体验推荐大家两款Ubun ...