oracle 多表授权

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 多表授权相关的知识,希望对你有一定的参考价值。

用户A和B,我想把a下面的表的权限给b,用grant命令,但是a下面表很多,不能一条条写,这个情况怎么写比较简单呢?

set heading off
set each off
spool d:\grant_a_b.sql
select 'grant select '||owner||'.'||object_name ||'to B' from dba_objects where owner='A' and object_type='TABLE';
spool off
set heading on
set each on

@d:\grant_a_b.sql
你执行这个脚本就可以了
参考技术A select 'grant select on '||table_name||' to b;' from dba_tables where owner = a;

oracle的grant语句,一次只能授权一张表的访问权限吗?

参考技术A

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:对指定用户开放权限

参考资料

ORACLE官网-ORACLE GRANT

以上是关于oracle 多表授权的主要内容,如果未能解决你的问题,请参考以下文章

oracle的grant语句,一次只能授权一张表的访问权限吗?

oracle查询一个用户下有多少张表

26_多表查询 MySQL管理工具 用户授权及撤销

DBA04 - 多表查询 MySQL管理工具用户授权及撤销

oracle怎么授权授权的权限

oracle给远程连接的用户授权。