在存储过程中DBA的权限是不起作用的, 要单独赋权限的, 在B用户中:grant select on t_user_info to A; 还有commit最好放到循环外,当然视你的需求而定的。
如表很多,需要赋这种权限的话,有一种简便的方法: 在sqlplus下执行: ----------------------------- set heading off set feedback off spool c:\grant.sql select 'grant select,delete,update,insert on ' || table_name || ';' from cat where table_type = 'TABLE'; spool off ----------------------------然后打开 c:\grant.sql ,再运行此脚本(在sqlplus中输入:@c:\grant.sql即可 )
不好意思,补充一下select 'grant select,delete,update,insert on ' || table_name || ' to A;' from cat where table_type = 'TABLE';
要单独赋权限的,
在B用户中:grant select on t_user_info to A;
还有commit最好放到循环外,当然视你的需求而定的。
在sqlplus下执行:
-----------------------------
set heading off
set feedback off
spool c:\grant.sql
select 'grant select,delete,update,insert on ' || table_name || ';' from cat
where table_type = 'TABLE';
spool off
----------------------------然后打开 c:\grant.sql ,再运行此脚本(在sqlplus中输入:@c:\grant.sql即可 )
where table_type = 'TABLE';