oracle 创建视图以基于当前架构选择不同的表

laximzn5  于 12个月前  发布在  Oracle
关注(0)|答案(1)|浏览(118)

所以我有两个类似的表在两个不同的模式,例如schema1.TableA和schema2.TableA。从我的应用程序,有两个其他的模式有选择访问这两个表。是否可以创建一个视图,当当前模式是Schema3时,该视图应该返回schema1.TableA的数据,而当当前模式是Schema4时,该视图应该返回schema2.TableA的数据?或者在oracle中有没有其他方法来实现这一点?

wh6knrhe

wh6knrhe1#

向适当的用户授予从架构中进行选择的权限,然后为每个用户创建同义词:

GRANT SELECT ON SCHEMA1.TABLEA TO SCHEMA3;
GRANT SELECT ON SCHEMA2.TABLEA TO SCHEMA4;
CREATE SYNONYM schema3.tableA FOR SCHEMA1.tableA;
CREATE SYNONYM schema4.tableA FOR SCHEMA2.tableA;

字符串
然后,您应该能够将SELECT * FROM tableA用作schema3schema4,并且它将从每个模式中的相应表/视图中获取数据。

相关问题