我有一个用户,他们的帐户有很多表格。让我们说UserA。我可以做SELECT * FROM TABLE
一切都很好。如果我以另一个用户UserB登录,但是使该用户成为只读连接我无法访问该表,我必须使用SELECT * FROM UserA.TABLE
在Oracle的某个地方是否有办法允许UserB访问UserA的表而无需在表名之前放置用户前缀?
答案 0 :(得分:11)
以UserB身份登录后,运行以下语句:
ALTER SESSION SET current_schema = UserA;
之后,您不必为表名添加前缀。
如果您不想手动运行,可以创建一个自动执行此操作的登录触发器。
答案 1 :(得分:11)
您也可以通过在表格上创建同义词来完成此操作:
CREATE SYNONYM TABLE FOR UserA.TABLE;