码迷,mamicode.com
首页 > 其他好文 > 详细

with check option(视图 )

时间:2015-12-25 15:01:34      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:

建立视图的时候使用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(视图 )

标签:

原文地址:http://www.cnblogs.com/OliverQin/p/5075717.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!