oracle的grant语句,一次只能授权一张表的访问权限吗?
grant语句,一次只能对一个对象进行赋权;不能同时对两个表进行赋权;但可以同时赋权多个不同的权限;如,grant select,update,insert on test_null to sys;
举例实践如下:
1、多表同时赋权,会产生报错信息。
2、grant后的权限,可以重新收入,如,revoke update on test_null from sys。
3、当然也可以一次对该用户的所有表(不是同时多个对象),进行赋权,如,grant select any table to sys。
4、执行revoke select any table from sys;语句,可以将所有select赋权对象,进行回收。
扩展资料
1、给数据库用户授权(对象为用户表)
GRANT privilege[, ...] ON object[, ...] TO { PUBLIC | GROUP group| username}
privilege包含,select:查询、insert:插入、update:更新、delete:删除、all:所有
2、grant select,insert,update on tablename to public;
给所有用户授予查询、插入、更新tablename表的权限
revoke select,insert,update on tablename from public;//收回所有用户查询、插入、更新tablename表的权限
object包含,table:表、view:视图、sequence:序列、index:索引
3、grant select,insert,update on tablename,viewname,sequencename,indexname to public;
1)public:对所有用户开放权限
2)GROUP groupname:对该组所有用户开放权限
3)username:对指定用户开放权限
参考资料
grant语句,一次只能对一个对象进行赋权;不能同时对两个表进行赋权;但可以同时赋权多个不同的权限。解决方法如下:
1、在使用oracle数据库的时候,权限是极其重要的,如果新建的用户如果没有权限,甚至都无法登录数据库。
2、为新建用户分配权限主要有三种connect主要使用是让用户可以连接到数据库 ,resource主要使用是让用户可以创建表,dba它是一种比较特殊的权限,普通用户拥有之后可以成为数据库管理者。
3、还有一种权限主要是针对表的权限,select update delete insert all也就是拥有用户对某张表有查询 、更改、删除、插入及所有权限。
4、如果想要查询用户的权限可以通过下图中的方法进行查询。
5、与grant相对应的就是收回权限使用revoke如下图。
grant语句,一次只能对一个对象进行赋权;不能同时对两个表进行赋权;但可以同时赋权多个不同的权限;如,grant select,update,insert on test_null to sys;
如:
1、多表同时赋权,会产生报错信息。
2、grant后的权限,可以重新收入,如,revoke update on test_null from sys。
扩展资料:
GRANT 允许对象的创建者给某用户或某组或所有用户(PUBLIC)某些特定的权限。对象创建后,除了创建者外,除非创建者赋予(GRANT)权限,其他人没有访问对象的权限。一旦用户有某对象的权限,他就可以使用那个特权。
不需要给创建者赋予(GRANT)对象的权限,创建者自动拥有对象的所有权限,包括删除它的权限。
参考资料来源:百度百科-grant (计算机术语)
可以多种操作权限,但是只能指定一张表。
记得采纳。
如果是授权某个用户下所有的表
可以使用
grant select any table to scott;