为了能够让其他架构使用它不拥有的表,我通常
GRANT SELECT ON TABLE t TO otherUser
CREATE PUBLIC SYNONYM t FOR t
问题是我一直认为Oracle应该自动让newUser查看表,如果我授予select。
实际上,我必须创建一个同义词,其他明智的新用户无法选择它
我还有其他方式徘徊吗?让其他用户看到表并执行select而不创建同义词?
答案 0 :(得分:2)
我还有其他方式徘徊吗?让其他用户看到表并执行select而不创建同义词?
是
如果没有同义词,其他用户必须指定 SCHEMA_NAME 才能在其他架构中引用该表。
SCHEMA.TABLE
@Boneist增加了一个好处。有时,您可以避免使用同义词充斥系统,只需发出alter session语句将当前架构设置为您希望访问对象的架构。
关于AskTom的详细讨论here。