欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

视图 with check option

程序员文章站 2022-03-25 16:42:32
...

自定义一个table   名为 :Star


视图 with check option

 

 

 

 



1、先定义视图找出所有张姓明星:

create view  IS_Star 
as  
select  *from Star 
where  name  like '张%'   
with check option 

获取张姓明星情况:

select * from IS_Star

此时,with  check option 约束条件是对视图里面所有的name 首字符必须是以 ‘张’字打头。不管是修改前还是修改后都必须总从此规则,否则出错。

 比如

update IS_Star  set name='刘家辉'  where name='张家辉

 这是不可以的。 而

update IS_test set name='张家界'  where name='张家辉'  

是可以。前后姓没有变。满足where 后面的约束条件。

而如果在选取视图的时候没有使用 with check option 约束语句的话,那么。是可以改得。也就是张家辉既可以变成刘家辉也可以变成张家界。


 小结:

 

对于有where 子句的视图,有with check option 的话,对视图增加或修改数据后,该数据必须满足 where 条件,不满足的话,增加或修改会失败。


1.对于update,有with check option,要保证update后,数据要被视图查询出来 
2.对于delete,有无with check option都一样 
3.对于insert,有with check option,要保证insert后,数据要被视图查询出来 
4.对于没有where 子句的视图,使用with check option是多余的




相关标签: 视图

上一篇: SQL一些语句 ?

下一篇: 视图