第四章例题

【例4.1】把查询的权限给用户u1

grant select
on Student
to u1;

在左侧安全性用户u1属性中可以查看用户u1的权限:
在这里插入图片描述

这里可能是标准SQl和TSQl有区别吧,如果是这样的语句的话就会报错:
在这里插入图片描述
【例4.2】把对Student表和Course表的全部权限授予用户U2

grant all PRIVILEGES
on course
to u2;
grant all PRIVILEGES
on Student
to u2;

在这里插入图片描述
这里不知道是啥
在这里插入图片描述
而且这样会报错:在这里插入图片描述
【例4.3】把对SC表的查询权限给全部用户

grant select 
on SC
to public;

【例4.4】把查询Student表和修改学生学号的权限授给用户U4

grant update(Sno),select 
on Student 
to U4;

【例4.5】把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予其他用户

注:这里with grant option 语句可以让该权限用户可以授权给其他用户,但不允许循环授权

grant insert 
on SC 
to U5
with grant option;

【例4.6】U5将权限赋予U6:

grant insert 
on SC 
to U6
with grant option;

同样,U6还可以将此权限授予U7:
【例4.7】

grant insert 
on SC 
to U7;

【例4.8】把用户U4修改学生学号的权限收回

revoke update(Sno)
on Student 
from U4; 

【例4,9】收回所有用户对表SC的查询权限

revoke select
on SC
from public;

【例4.10】把用户U5对SC表的INSERT权限收回

revoke insert
on SC
from U5 cascade;

【例4.11】通过角色来实现将一组权限授予一个用户。
(1)首先创建一个角色 R1

create role R1;

(2)然后使用GRANT语句,使角色R1拥有Student表的 SELECT、UPDATE、INSERT权限

grant select, update, insert 
on Student 
to R1;

(3)将这个角色授予u1,u2,u3。使他们具有角色R1所包含的全部权限

exec sp_addrolemember 'R1','u1'
exec sp_addrolemember 'R1','u2'
exec sp_addrolemember 'R1','u3'

在这里插入图片描述
【例4.12】角色的权限修改(使角色R1在原来的基础上增加Student表的delete权限)

grant delete 
on Student
to R1;

【例4.13】删除R1,select权限

revoke select
on Student
from R1;

【例4.14】 建立计算机系学生的视图,把对该视图的SELECT权限授于王平,把该视图上的所有操作权限授于张明

--建立计算机系学生的视图CS_Student
create view CS_Student
as 
select  *
from  Student
where Sdept='CS';

--在视图上进一步定义存取权限
grant select
on CS_Student  
to U5;

grant all 
on CS_Student  
to U6; 

【例4.15】对修改SC表结构或修改SC表数据的操作进行审计

audit alter,update  
on SC;

【例4.16】取消对SC表的一切审计

noaudit alter,update 
on SC;

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值