1.问题场景:某个功能主表有个别的用户下的触发器,在保存的时候触发了触发器,但是触发器报错,所以根据事务导致保存失败。
2.问题原因:功能主表的所属用户并没有对另外一个用户中的表的权限,所以导致编译和使用的时候报错,提示表或视图不存在,实际上是有这个用户和这个表的。
3.解决方法
授权
grand all on 用户.功能主表 to 用户;
4.其他授权
授权a用户的表、序列、视图的所有权限给b用户
-- 授权表权限(all、update、select、insert、delete)
select 'grant all on a.' ||table_name|| ' to b;' from user_tables;
-- 授权序列(all、update、select、insert、delete)
select 'grant ALL on a.' || sequence_name || ' to b;' from dba_sequences where sequence_owner= 'a';
-- 授权视图(all、update、select、insert、delete)
SELECT * FROM user_views;
select 'grant all on a.' || view_name || ' to b;' from user_views;