我正在研究如何在Oracle上使用JBoss 5.1.0GA,並看到this,警告我應該明確聲明應該創建TIMERS表的模式的名稱,因爲Oracle不會允許相同的表名使用兩次,即使在模式之間也是如此。Oracle模式表名限制
閱讀本文後,我在StackOverflow上看到this question,並希望對Oracle中對象的層次結構進行一些說明。
假設我們有一個Oracle數據庫服務器。在此範圍內,我們創建了兩個數據庫 - D1和D2。在每個數據庫中,我們創建兩個模式 - S1和S2。
+-D1
| +---S1
| | +---T1
| +---S2
| +---T2
+-D2
+---S1
| +---T3
+---S2
+---T4
我是在想,如果我再添加一個名爲T1 D1/S2內的另一個表,它不會因爲工作糾正:通過對T4 T1 - 每個數據庫上的每個模式裏面,我們創建一個單一的表表格名稱在模式中必須是唯一的,並且T1已經存在於D1/S1中,但是如果我將T1添加到D2/S1或D2/S2中,這樣會很好,因爲名爲T1的兩個表格在不同的數據庫中?
我有一種討厭的感覺,認爲我對Oracle模式的理解是有缺陷的(這不是我之前用過的很多的數據庫),所以我很抱歉如果我問的是愚蠢的問題。
在此先感謝
豐富
那麼對RedHat網站(這兩個鏈接中的第一個)的評論意味着什麼呢? – Rich 2010-07-01 13:13:10
@Rich:也許'定時器'是一個公共同義詞? – 2010-07-01 13:15:58
「但是,如果您連接到數據庫實例的用戶可以訪問這兩個表,那麼在訪問任何一個表時都需要小心,要明確引用特定模式中的表,請使用schema.table。」 - 我認爲這是問題所在。從http://stackoverflow.com/questions/1685775/oracle-same-table-name-on-different-schema – Rich 2010-07-01 13:19:59