日期:2014-05-19  浏览次数:20572 次

有关视图的里一个关键字的问题:WITH CHECK OPTION,起什么作用??
在联机从书里看到这个,但是不明白WITH   CHECK   OPTION   起什么用??
它给的这个例子,我看不出这个WITH   CHECK   OPTION??有什么用??

C.   使用   WITH   CHECK   OPTION
下例显示名为   CAonly   的视图,该视图使得只对加利福尼亚州的作者应用数据修改。

USE   pubs
IF   EXISTS   (SELECT   TABLE_NAME   FROM   INFORMATION_SCHEMA.VIEWS
            WHERE   TABLE_NAME   =   'CAonly ')
      DROP   VIEW   CAonly
GO
CREATE   VIEW   CAonly
AS  
SELECT   au_lname,   au_fname,   city,   state
FROM   authors
WHERE   state   =   'CA '
WITH   CHECK   OPTION
GO


我原先理解为只能对state这个列进行修改,其它的列都不行,但是我试了试,其它的列也可以修改
INSERT   INTO   CAonly   SET   au_lname= 'mike '
WHERE   au_lname= 'Green '
修改成功,说明我理解错了,但是我又看不出这个关键字起什么用??
请各位帮忙,尽量举个例子说明白点,谢谢


------解决方案--------------------
对可更新视图插入数据或修改数据的限制,就是当state不为 'CA '时,报错