2017-10-10 85 views
0

如何獲取從oracle中的表創建的所有者,表名和所有視圖名稱?我正在分別查看dba_tables和dba_views,但是有兩種方法可以加入。所有者,表名,視圖名稱oracle

+2

您還需要查看[(dba | all | user)_dependencies](https://docs.oracle.com/cd/B28359_01/server.111/b28320/statviews_1066.htm#REFRN20053)數據字典視圖。 –

+1

你是什麼意思「爲表**創建視圖名**」?關係數據庫中沒有這樣的概念。視圖不會創建爲「表」。視圖可以從表格中選擇(或從幾個表格中選擇)。你的意思是,找到從給定表中選擇的所有視圖?然後:請注意,某個視圖可能會從另一個視圖中進行選擇,而其他視圖可能會從「您的」表中進行選擇。你是否也希望顯示這個更加遠程相關的視圖,或者只有直接從你的表中選擇的視圖? – mathguy

+0

感謝您的教育。我的意思是從表格創建的視圖。 – sria

回答

1

您可以使用此查詢。用大寫字母輸入表格的名稱。

SELECT referenced_owner OWNER, 
    referenced_name TABLE_NAME , 
    NAME VIEW_NAME 
FROM all_dependencies 
WHERE type   = 'VIEW' 
AND referenced_type = 'TABLE' 
AND referenced_name = '&table_name'; 

這將使你的形式輸出:

OWNER   TABLE_NAME  VIEW_NAME   
-------  ----------------- ------------------ 
HR    DEPARTMENTS  EMP_DETAILS_VIEW 
HR    DEPARTMENTS  V_EMPLOYEES  
HR    DEPARTMENTS  V_EMP_DEP 

注:作爲一個評論中提到,「爲表創建視圖名稱」是沒有意義的。它應該被提及爲Views,這取決於給定的表格。

+0

謝謝!我做了必要的修改。 – sria