SQL 综合应用(2.数据控制) 实例_(学生,课程表,选修表)

数据控制语言(DCL)是用来设置或者更改数据库用户或角色权限的语句,这些语句包括grant(授权)、deny(拒绝)、revoke(收回)等语句,在默认状态下,只有sysadmin、dbcreator、db_owner或db_securityadmin等角色的成员才有权利执行数据控制语言

GRANT 的语法结构为:

GRANT [权限] ON [对象名] TO [用户] WITH [授权选项]

--假设SQL Server 中有U1这一用户,把查询学生表的权限授给用户 U1
grant select
on 学生
to U1,U2
--假设SQL Server 中有U1和U2用户,把对课程表的全部操作权限授予用户U1和U2
grant all
on 课程
to U1,U2
--把对选修表的查询权限授予所有用户
grant select
on 选修
to public

--假设SQL Server 中有U3用户,把查询学生表和修改学生学号的权限授予用户U3
grant select,update(学号)
on 学生
to U3
--假设SQL Server 中有U5用户,把对选修表的insert 权限授予U5用户,并允许将此权限再授予其他用户
grant insert 
on 选修
to U5
with grant option

REVOKE 的语法结构为:

REVOKE [权限] ON [对象名] FROM [用户]

--把用户U3修改学生学号的权限收回
revoke update(学号)
on  学生
from U3
--收回所有用户对选修表的查询
revoke select
on  选修
from public
--把用户U5对选修表的insert权限收回
revoke insert
on  选修
from U5 cascade /* cascade用于若要废除可授予的特权*/

 

posted @ 2013-04-30 15:40  乡香田甜  阅读(341)  评论(0编辑  收藏  举报