2013-10-31 68 views
0

我已經爲兩個表的特定用戶授予選擇,更新,插入和創建會話。當我使用SQL Developer登錄該用戶時,他們看不到這些表。有沒有另外的許可?授予用戶在連接後查看錶的權限

+0

你是什麼意思「看不到表格」?你正在執行查詢嗎?或者你是指SQL Developer的用戶界面中的某些東西?如果是這樣,你指的是什麼部分的用戶界面? –

回答

1

沒有更多信息(請參閱我的評論),我的下注是您啓動SQL Developer,連接到數據庫,然後打開樹控件的「表」部分並在那裏查找表。如果是這樣的話,那你看錯了地方。在SQL Developer中,您需要展開「其他用戶」,導航到擁有表格的用戶,然後打開該用戶下的樹形控件的「表格」部分,以查看這兩個表格。

如果你想對錶運行查詢,默認情況下,你需要提供完全限定的表名

SELECT * 
    FROM owner_of_the_table.table_name 

如果你想消除需要使用完全限定的表名,你可以爲表格創建同義詞(公共或私人)。創建同義詞將是傳統的方法。或者你可以在會話級,做

ALTER SESSION SET current_schema = <<owner of the table>> 

會導致不符合條件的引用使用指定的模式,而不是當前用戶的方案來解決。

+0

你是正確的,我正在使用SQL Developer,我以系統用戶身份登錄,但我沒有看到其他用戶下的兩個表 - >其他用戶名 - >表,其空的 – c12

+0

@ c12 - 所以你用'SYSTEM'登錄。你授予'SYSTEM'訪問這兩個表嗎?什麼用戶擁有這兩張桌子? –

+0

我以系統用戶身份登錄並創建沒有所有者名稱的表。我想我應該放棄它們並使用SYSTEM.table_name重新創建 – c12