Oracle Grant 然后SYNONYM 有没有其他办法?
Oracle Grant then SYNONYM is there any other ways?
为了能够让其他模式使用它不拥有的 table,我通常
GRANT SELECT ON TABLE t TO otherUser
CREATE PUBLIC SYNONYM t FOR t
问题是我一直认为如果我授予 select 权限,Oracle 应该自动让新用户看到 table。
实际上,我必须创建同义词,否则新用户无法 select
我在纠结有没有别的办法?让其他用户看到 table 并执行 select 而不创建同义词?
I wander is there any other way? to let the other user see the table and perform select without create a synonym?
是的。
如果没有同义词,其他用户必须指定 SCHEMA_NAME 才能在其他架构中引用 table。
SCHEMA.TABLE
@Boneist 添加的一个好点。有时,您可以避免用同义词淹没系统,而只需发出 alter session 语句将当前模式设置为您希望访问对象的模式。
关于 AskTom 的详细讨论 here。
为了能够让其他模式使用它不拥有的 table,我通常
GRANT SELECT ON TABLE t TO otherUser
CREATE PUBLIC SYNONYM t FOR t
问题是我一直认为如果我授予 select 权限,Oracle 应该自动让新用户看到 table。
实际上,我必须创建同义词,否则新用户无法 select
我在纠结有没有别的办法?让其他用户看到 table 并执行 select 而不创建同义词?
I wander is there any other way? to let the other user see the table and perform select without create a synonym?
是的。
如果没有同义词,其他用户必须指定 SCHEMA_NAME 才能在其他架构中引用 table。
SCHEMA.TABLE
@Boneist 添加的一个好点。有时,您可以避免用同义词淹没系统,而只需发出 alter session 语句将当前模式设置为您希望访问对象的模式。
关于 AskTom 的详细讨论 here。