[MSSQL]with check option和with grant option

转载 2017年12月20日 09:25:48

·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 权限。

实验理解ADMIN OPTION和GRANT OPTION的用法

使用GRANT赋予用户权限的时候通常有ADMIN OPTION和GRANT OPTION这两个OPTION。下面使用简单的实验来体会下这两种授权的用途。 一、ADMIN OPTION参数 ...
  • bisal
  • bisal
  • 2014年11月24日 09:15
  • 1695

oracle 创建视图用 with check option 子句详解

疑问:创建视图的语句里可以有group by子句(或是orderby)存在吗?不可group by子句吧 with check option 子句用于普通视图和内联视图(in-line view...
  • haiross
  • haiross
  • 2014年12月24日 15:57
  • 10434

关于Oracle Insert 语句的子查询 和 with check option的用法

今日睇ocp教程  发现 insert语句还可以子查询例如:INSERT INTO      (SELECT employee_id, last_name,                email,...
  • nvd11
  • nvd11
  • 2013年04月02日 00:55
  • 920

OPTION(RECOMPILE)提高带参数执行SQL语句的索引效率

本例为MSSQL2008环境下测试。1. 无参数查询 先看一个简单的查询语句在大数据表中的查询情况: SELECT fmr.FID,fmr.BasicTime FROM feeMeterRe...
  • quan278905570
  • quan278905570
  • 2015年12月04日 10:41
  • 2169

视图with check option选项详解

通过有with check option选项的视图操作基表(只是面对单表,对连接多表的视图正在寻找答案),有以下结论: 首先视图只操作它可以查询出来的数据,对于它查询不出的数据,即使基表有,也不可以...
  • zhenjiang412518
  • zhenjiang412518
  • 2013年06月28日 14:14
  • 910

MySQL grant指令详解

mysql中可以给你一个用户授予如select,insert,update,delete等其中的一个或者多个权限,主要使用grant命令,用法格式为: grant 权限 on 数据库对象 to 用...
  • bleachangel
  • bleachangel
  • 2017年01月18日 17:38
  • 492

拼接option,并给其中一个option赋值

1、jsp页面 //拼接option,并根据前台传递的数据选中其中一个option $(function(){ $.ajax({ url...
  • Ling1604
  • Ling1604
  • 2017年05月24日 10:41
  • 595

[Oracle备课资料]with check option的作用举例

对于数据过滤而言CHECK约束已经算是相当不错了。然而它仍存在一些缺陷,比如说它们是应用到表上面的,但有的时候你可能希望指定一条约束,而它只在特定条件下才生效。 使用SQL标准的WITH CHE...
  • zhanglongxiang
  • zhanglongxiang
  • 2015年09月23日 18:18
  • 226

Scala中常见的容器 Option(选项)

Scala Option(选项)类型用来表示一个值是可选的(有值或无值)。 Option[T] 是一个类型为 T 的可选值的容器: 如果值存在, Option[T] 就是一个 Some[T] ,...
  • Winterto1990
  • Winterto1990
  • 2016年08月03日 17:26
  • 1690

兼容ie select option 显示隐藏

一级分类     五险一金     企业服务     员工服务 二级分类 社会保险服务 公积金服务 社保账户服务 公积金账户服务 社保日常服务 公积金日常服务 //将optio...
  • mrhaoxiaojun
  • mrhaoxiaojun
  • 2016年08月16日 12:06
  • 3556
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[MSSQL]with check option和with grant option
举报原因:
原因补充:

(最多只允许输入30个字)