• 视图中with check option的作用是什么?


    create   view   IS_student  
      as  
      select   sno,sname,sage  
      from   student  
      where   sdept='IS'  
      with   check   option;  
      加上了with   check   option;后,不能执行插入操作:  
       
      insert   into   is_student  
      values('95100','李娜',12)  
       
      什么原因?不加上with   check   option则可以! 


    with   check   option可以这么解释:通过视图进行的修改,必须也能通过该视图看到修改后的结果。比如你insert,那么加的这条记录在刷新视图后必须可以看到; 如果修改,修改完的结果也必须能通过该视图看到;如果删除,当然只能删除视图里有显示的记录。  
       
    而你只是查询出sdept='is'的纪录,你插入的根本不符合sdept='is'呀,所以就不行

    意思就是说在执行Insert的时候,默认情况下sdept是'IS',才满足with   check   option是吗?  
       
    DBMS不会自动加上Sdept='IS'吗?因为在视图IS_student是选择所有是‘IS’的学生的啊!

    我来自:向东博客
  • 相关阅读:
    mysql 时间戳
    UTF8有BOM和无BOM
    php正则表达式
    二叉树的一些操作
    简单的Oracle触发器使用
    简单的Java调用Oracle存储过程
    Oracle知识关键字
    List和Set
    MyEclipse 快捷键
    Java零基础系列006——小测试(循环)
  • 原文地址:https://www.cnblogs.com/meil/p/1147116.html
Copyright © 2020-2023  润新知