2015-10-13 70 views
2

爲了能夠讓其他的模式來使用它沒有自己的表,我通常Oracle Grant然後SYNONYM還有其他方法嗎?

GRANT SELECT ON TABLE t TO otherUser 

CREATE PUBLIC SYNONYM t FOR t 

問題是我一直認爲甲骨文會自動讓NEWUSER看到表,如果我承認選擇就可以了。

在現實中,我要創建一個同義詞,其他明智的新用戶不能在其上

我徘徊是有任何其他方式選擇?讓其他用戶看到表格並執行選擇而不創建同義詞?

回答

2

我徘徊有沒有其他方式?讓其他用戶看到表格並執行選擇而不創建同義詞?

是。

沒有同義詞,其他用戶必須指定SCHEMA_NAME來引用其他架構中的表。

SCHEMA.TABLE 

好點的@Boneist增加。有時,您可以避免使用同義詞氾濫系統,只需發出alter session語句即可將當前模式設置爲您希望訪問對象的模式。

關於AskTom的詳細討論here

+3

或者用戶可以發出'alter session set current schema = schemaname;' – Boneist

+0

@Boneist是的,避免同義詞的一種好方法,沒有模式名稱的話可以少一些解析。答案中增加了相同的內容。謝謝 –

+0

除了表或視圖所有者外​​,誰還可以授予其他架構/用戶的選擇權? – user5324782

相關問題