首 页IT知识库翔宇问吧收藏本站
当前位置:翔宇亭IT乐园IT知识库数据库SQL专栏

使用SQL语句给用户授权的方法

减小字体 增大字体 作者:本站  来源:本站原创  发布时间:2011-02-14 14:42:18

SQL使用GRANT语句向用户授予操作权限,GRANT语句的一般格式为:

GRANT <权限> [,<权限>,…]
          [ON <对象类型> <对象名>]
           TO <用户 | 角色>[,<用户 | 角色>,…] | PUBLIC
            [WITH GRANT OPTION]

对此语句的说明如下:

(1)不同类型的操作对象具有不同的操作权限,如表3.17所示。

SQL授权语句

(2)接受授权的用户可以是一个或多个具体的用户,也可以是角色或PUBLIC,指定PUBLIC即把权限授予数据库中的所有用户。

(3)授予关于属性列的权限时,必须明确给出相应的属性列名称。

(4)如果指定了WITH GRANT OPTION子句,则获得某种权限的用户还可以把这种权限再授予其他用户,但不允许循环授权,即被授权者不能把权限再授回给授权者或其祖先,如图3.3所示。如果没有指定WITH GRANT OPTION子句,则获得某种权限的用户只能使用该权限,不能把权限再授予其他人。

SQL授权

 例3.72 把查询Student表的权限授给用户user1。

GRANT SELECT ON TABLE Student TO user1

例3.73 把对Student表和Course表的全部操作权限授予user2和user3。

GRANT ALL PRIVILIGES ON TABLE Student,Course TO user2, user3

例3.74 把对表SC的查询权限授予给所有用户。

GRANT SELECT ON TABLE SC TO PUBLIC

例3.75 把查询Student表和修改学生姓名的权限授予给用户user4。

GRANT SELECT,UPDATE(Sname) ON TABLE Student TO user4

例3.76 把对表SC的INSERT权限授予user5用户,并允许其把此权限再授予其他用户。

GRANT INSERT ON TABLE SC TO user5 WITH GRANT OPTION

执行此SQL语句后,user5不仅拥有了对表SC的INSERT权限,还可以把此权限再授予他人。

从上面的几个例子可以看出,SQL的授权机制非常灵活。用户对自己建立的基本表和视图拥有全部的操作权限,也可以将这些权限授予其他用户。用户可以一次向一个用户授权,如例3.72所示。也可以一次向多个用户授权,如例3.73和例3.74所示;还可以一次传播多个同类对象的权限,如例3.73所示;甚至一次可以完成对基本表、视图和属性列这些不同对象的授权,如例3.75所示。


本文源自:翔宇亭——IT乐园(http://www.biye5u.com),转载请保留此信息!

知识评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 1分

内 容:

            请注意用语文明且合法,不要发布带有攻击性、侮辱性的言论,谢谢合作!

         通知管理员 验证码:

关于本站 | 网站帮助 | 广告合作 | 网站声明 | 友情连接 | 网站地图 | 用户守则 | 联系我们 |
本站大多数内容来自互联网或网站会员发布,如有侵权,请来信告之,谢谢!
Copyright © 2007-2017 biye5u.com. All Rights Reserved.
网站备案号:黑ICP备13005378号-3