创建好ABC三个用户后,a用户对用户c的所有对象都没有权限访问,要对用户b的所有对象进行访问,需要B用户给A用户授权才行: 查看B用户下的所有对象: select object_name FROM user_objects ; 然后游标处理,对B中每个对象给用户A授权 execute iommediate 'grant all on'|| object_name||' to a';
登陆b用户 grant all on table_name to B;如果是多个表的话 就先查询user_tables 找出所有的表 再执行脚本就是了~
我想写个过程在多个用户下自动执行,可在执行到execute时报错: ORA-00990: missing are invalid privilege 用PL/SQL中用dba权限的用户执行也报错。请问以下过程那里写的有问题吗?执行不成功。多谢! create or replace procedure test_grant as v_object varchar2(100); v_sql varchar2(200); cursor c_emp is select object_name from user_objects where object_name = 'ACCNTAB_HIS'; begin open c_emp; loop fetch c_emp into v_object; exit when c_emp%notfound; v_sql:='grant all on'||v_object||'to mdr'; execute immediate v_sql; end loop; close c_emp; end test_grant;
查看B用户下的所有对象: select object_name FROM user_objects ;
然后游标处理,对B中每个对象给用户A授权
execute iommediate 'grant all on'|| object_name||' to a';
ORA-00990: missing are invalid privilege
用PL/SQL中用dba权限的用户执行也报错。请问以下过程那里写的有问题吗?执行不成功。多谢!
create or replace procedure test_grant
as
v_object varchar2(100);
v_sql varchar2(200);
cursor c_emp is select object_name from user_objects where object_name = 'ACCNTAB_HIS';
begin
open c_emp;
loop
fetch c_emp into v_object;
exit when c_emp%notfound;
v_sql:='grant all on'||v_object||'to mdr';
execute immediate v_sql;
end loop;
close c_emp;
end test_grant;