当前所在位置:珠峰网资料 >> 计算机 >> 软件水平 >> 正文
中级软考辅导:数据控制语言
发布时间:2009/12/6 12:55:56 来源:城市学习网 编辑:admin

  数据控制语言语句可以进行安全性管理,确定哪些用户可以查看或修改数据,这些语句包括GRANT、DENY、REVOKE等。
  1.GRANT语句
  GRANT语句是授权语句,它可以把语句许可或者对象许可授予其他用户和角色。允许用户对数据库进行某些操作的GRANT语句的语法形式如下。
  (1)语句许可
  GRANT {ALL | statement[,...n]}
  TO security_account[,...n]
  Statement代表语句许可的类型,可以是以下的类型:
  CREATE DATABASE:创建数据库语句
  CREATE DEFAULT:创建默认对象语句
  CREATE PROCEDURE:创建存储过程语句
  CREATE RULE:创建规则对象语句
  CREATE TABLE:创建表语句
  CREATE VIEW:创建视图语句
  BACKUP DATABASE:备份数据库语句
  BACKUP LOG:备份日志语句
  (2)对象许可
  GRANT{ALL [PRIVILEGES] | permission[,...n] }
  {
  [ (Column[,...n])] ON {table | view}
  | ON {table | view}[(column[,...n])]
  | ON {stored_procedure | extended_procedure}
  }
  TO security_account[,...n]
  [WITH GRANT OPTION]
  [AS {group | role}]
  下面是一个实例,打开数据库game,然后对gamer角色授予author表的SELECT许可,允许gamer角色进行数据库检索。接着对三个用户授予INSERT、DELETE和UPDATE许可。最后,授予teacher角色CREATE TABLE语句许可。
  USE game
  GO
  GRANT SELECT
  ON author
  TO gamer
  GO
  GRANT INSERT,DELETE,UPDATE
  ON author
  TO Mike,Henry,Ronald
  GO
  GRANT CREATE TABLE
  TO teacher
  GO

  2.REVOKE语句
  REVOKE语句是GRANT语句的逆语句,用于收回发出的许可。其语法如下。
  (1)语句许可
  REVOKE {ALL | statement[,...n]}
  FROM security_account[,...n]
  (2)对象许可
  REVOKE[GRANT OPTION FOR]
  {ALL [PRIVILEGES] | permission[,...n] }
  {
  [ (Column[,...n])] ON {table | view}
  | ON {table | view}[(column[,...n])]
  | ON {stored_procedure | extended_procedure}
  }
  FROM security_account[,...n]
  [CASCADE]
  [AS {group | role}]
  下面是一个实例,打开数据库game,然后对gamer角色收回author表的SELECT许可,不再允许gamer角色进行数据库检索。接着对三个用户收回INSERT、DELETE和UPDATE许可。最后,收回teacher角色CREATE TABLE语句许可。
  USE game
  GO
  REVOKE SELECT
  ON author
  FROM gamer
  GO
  REVOKE INSERT,DELETE,UPDATE
  ON author
  FROM Mike,Henry,Ronald
  GO
  REVOKE CREATE TABLE
  FROM teacher
  GO
  3.DENY语句
  DENY语句与REVOKE语句类似,但是DENY语句比REVOKE语句更进了一步。DENY语句不仅将授予用户的许可收回,而且禁止该用户从其他角色中继承相应的许可。
  (1)语句许可
  DENY {ALL | statement[,...n]}
  TO security_account[,...n]
  (2)对象许可
  DENY{ALL [PRIVILEGES] | permission[,...n] }
  {
  [ (Column[,...n])] ON {table | view}
  | ON {table | view}[(column[,...n])]
  | ON {stored_procedure | extended_procedure}
  }
  TO security_account[,...n]
  [CASCADE]

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved