环境:
E3JAVA5.8应用需要将oracle用户E3ssscc的表、存储过程、触发器的查询和执行权限赋予E3sss.
1.表的赋权:
A.执行如下存储过程(需要赋予参数为:E3SSS)即可拼凑出赋予查询权限的SQL并执行该SQL:
create or replace procedure synon(p_touser varchar2) as
begin
declare
v_sql varchar2(300) ;
cursor mycur(touser varchar2) is
select 'grant select on ' || s.table_name || ' to ' || touser
from user_tables s;
begin
open mycur(p_touser);
loop
fetch mycur
into v_sql;
exit when mycur%notfound;
execute immediate v_sql;
end loop;
end;
end;
B.在E3SSS用户下创建同义词的操作:
在E3ssscc用户下执行如下语句:
grant creat synonym to E3SSS;
select 'create synonym '||table_name||' for E3SSSCC.'||table_name||';' from user_tables;
拷贝查询的结果到E3sss用户下执行,到此完成了表的赋权。可以以E3SSS用户