[MSSQL]with check option和with grant option

本文详细介绍了MSSQL中创建视图时的`WITH CHECK OPTION`和`WITH GRANT OPTION`两个关键选项。`CHECK OPTION`确保在对视图进行更新、插入或删除操作时,数据仍需满足视图定义的条件。`GRANT OPTION`允许被授权用户将权限进一步授予其他用户,但当管理员撤销权限时,这些级联授权也将失效。
摘要由CSDN通过智能技术生成

·with check option

表示对视图进行update、insert、delete操作时,只要保证更新、插入或删除的行满足视图定义中的谓词条件(即子查询中的条件表达式)
SQL语言用CREATE VIEW 命令创建视图,其一般格式如下。
CREATE VIEW<试图名> [(<列名>[,<列名>]…)]
AS <子查询> [WITH CHECK OPTION];
eg.已知关系模式:图书(图书编号,图书类型、图书名称、作者,出版社,出版日期,ISBN),图书编号唯一标识一本图书。建立“计算机”类图书的视图Computer-BOOK,并要求进行修改插入操作时保证该视图只有计算机类图书。实现上述要求的SQL语句如下:

CREATE VIEW Computer-BOOK
AS SELECT 图书编号,图书名称,作者,出版社,出版日期
FROM 图书
WHERE 图书类型=“计算机”
WITH CHECK OPTION;
解析:使用语句CREATE VIEW Computer-BOOK创建一个“计算机”类图书的视图,使用语句WITH CHECK OPTION满足“进行修改、插入操作时保证该视图只有计算机类的图书”(即子查询中的条件表达式WHERE 图书类型=“计算机”)

小结:
对于update,有with check option,要保证update后,数据要被视图查询出来
对于delete,有无with check option都一样
对于insert,有with check option,要保证insert后,数据要被视图查询出来
对于没有where子句的视图,使用with check option是多余的。
·with grant option
with grant option的意思是:权限赋予/取消是级联的,如将with grant option用于对象授权时,被授予的用户也可把此对象权限授予其他用户或角色,不同的是但管理员收回用with grant option授权的用户对象权限时,权限会因传播而失效,如grant select on table with grant option to A,A用户把此权限授予B,但管理员收回A的权限时,B的权限也会失效,但管理员不可以直接收回B的SELECT ON TABLE 权限。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值