-- 把用户U4修改学号的权限收回 REVOKE UPDATE(Sno) ONTABLE Student FROM U4;
-- 收回所有用户对表SC的查询权限 REVOKESELECT ONTABLE SC FROM PUBLIC;
-- 把用户U5对SC表的INSERT权限收回 REVOKEINSERT ONTABLE SC FROM U5 CASCADE;
创建数据库模式的权限
CREATE USER<username> [WITH] [DBA|RESOURCE|DBA];
数据库角色
数据库角色是被命名的元组与数据库操作相关的权限,角色是权限的集合。
角色的创建
CREATE ROLE <角色名>;
给角色授权
GRANT,同给用户授权
将一个角色授予其他的角色或用户
GRANT, [WITH ADMIN
OPTION]参数表示被授权的角色或用户可以继续授权。
角色权限的收回
REVOKE 同用户权限收回
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
-- 通过角色实现将一组权限授予一个用户 /*创建一个角色*/ CREATE ROLE R1; /*给角色授权*/ GRANTSELECT,UPDATE,INSERT ONTABLE Student TO R1; /*将角色授权给王平、张明、赵玲*/ GRANT R1 TO 王平,张明,赵玲; /*收回权限*/ REVOKE R1 FROM 张平; /*给R1角色增加删除权限*/ GRANTDELETE FROMTABLE Student TO R1;
视图机制
为不同用户定义不同的视图
1 2 3 4 5 6 7 8 9 10 11 12 13 14
-- 创建计算机系学生视图 CREATEVIEW CS_Student AS SELECT* FROM Student WHERE Sdept='CS'; /*给王平老师查询权限*/ GRANG SELECT FROM CS_Student TO 王平; /*给系主任全部权限*/ GRANTALL PRIVILEGES ON CS_Student TO 张明;