oracle 中 用户A 用户B
用户A 有 table1,package1
如果 b用户 想访问 table1 .
首先 ,要通过有权限的用户给b用户做授权。
GRANT all ON table1 TO 用户B;
GRANT all ON package1 TO 用户B;
GRANT— 赋予一个用户,一个组或所有用户访问权限GRANT privilege [, ...] ON object [, ...] TO { PUBLIC | GROUP group | username }
然后我们就可以在用户B中执行相应的数据操作了。
例如 select * from 用户A.table1.
例如 访问 package1 中方法 F1
用户A.package1.F1
而F1 中使用的 所有数据库对象 都要授权给用户B,并且F1 中使用的数据库对象不需要加 用户a.
如果 用户b 访问 用户 A 的数据库对象时不想使用 用户名. 的方式。那么我们需要做一下 同义词
1 用户B 需要有 synonym 权限
grant CREATE SYNONYM to userb
2 在用户B 下 做同义词
create public synonym table1 for 用户A.table1
这样我们就可以直接执行 select * from table1. 了.