• 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 行受影响)
    
                    
  • 相关阅读:
    Android内存优化5 了解java GC 垃圾回收机制3
    一起刑事案件法庭辩护 z
    辩护技巧总结——律师在刑事辩护中应注意的几个问题 z
    证据对抗、证据链标准 z
    里德九步审讯法 z
    WCF服务在高并发情况下报目标积极拒绝的异常处理 z
    C#EasyHook例子C# Hook 指定进程C#注入指定进程 z
    玄机论坛Socket类库源码 当前版本 2.6.3 更新日期:10-09/2015 z
    庭审全程文字实录 z
    庭审精彩语录整理 z
  • 原文地址:https://www.cnblogs.com/OliverQin/p/5075717.html
Copyright © 2020-2023  润新知