在Oracle数据库中,将当前用户所有表的查询权限授予另一个用户,可以按照以下步骤进行: 确定当前用户的所有表名: 首先,你需要查询出当前用户(即授权用户)所拥有的所有表名。这可以通过查询ALL_TABLES视图来实现,该视图包含了当前用户有权访问的所有表的信息。 sql SELECT TABLE_NAME FROM ALL_TABLES WHERE OWNER =...
3、登录成功后先查询出hr用户下所有的表名,可直接通过dba_tables来进行查询。 4、把查询权限赋给测试用户的方法有两种,一种为当用户下的表比较少的情况下可以直接通过grant select/delete/update on hr.table-name to cem。 5、授权成功后使用测试用户进行登录即可对授权过查询权限的表进行访问。 开通其中2张表...
1. 使用SQL*Plus或其他数据库管理工具登录到Oracle数据库,以具有足够权限的用户身份。例如,使用管理员账户如sys或system登录。2. 执行GRANT语句。这里有两种常用的方法:a. 逐个授予特定权限,例如:GRANT SELECT, UPDATE, DELETE ON schema.table TO userb;b. 授予所有权限,包括表和视图上的所有操作...
(也可以赋予序列,视图的查询权限) grant select any sequence to CRJDATA; 3.需要给UserB用户下所有表创建同义词,但是考虑到之前已经创建过一些表的同义词,因此把所有创建同义词的语句select出来在UserA用户下执行。 SELECT 'create or replace SYNONYM CRJDATA. ' || object_name|| ' FOR ' || owner || '...
方法一 有权限的用户执行 declare cursor tab_names is select table_name from user_tables; begin for tab in tab_names loop execute immediate 'GRANT SELECT ON '||tab.table_name||' to <USER_NAME>'; end loop; end; --- 方法二 用dba权限用户执行 select 'grant select on user1.'||table_na...
如果重复授一样的权限 不会有影响 如果授不一样的 权限会被更新
昨天有一同事问如何把oracle里一个用户所有表查询权限赋与另一用户,在网上查了好像没有现成的一劳永逸的语句,只能手了一个批量处理语句,如下: create or replace procedure grant_sql as The_c1 Integer; The_result number; v_Table varchar2(80);
在Oracle数据库中,直接赋予一个用户查询另一个用户所有表的权限是不存在的。不过,通过组合SQL语句可以相对简单地实现这一需求。例如,可以执行以下查询:SELECT 'ALTER SELECT ' || owner || '.' || table_name || ' TO AAA;' FROM dba_tables WHERE owner = 'BBB';将查询结果复制出来并逐一...
可以将查询系统所有表的权限赋给另外一个用户。这个权限很大(使用sysdba授予),被授予的用户可以访问系统内的任意表。grant select any table to test(用户名需要查询表的用户);使用用户test去访问别的用户下(如test2)的T表的时候 select * from test2.T(表名);
运行test以后可以发现现在JYZ2有JYZ1的表的权限了. 小结 通过我上面那个test存储过程可以将一个用户下的所有表的select权限赋值给另外一个用户,当然如果要增加其他权限,比如update什么的,可以直接修改SQL,也是比较方便的... 另外需要特别注意的就是这个存储过程我用system connect as normal的时候不知到为什么一直编译不...