2017-10-10 17 views
0

oracleのテーブルから作成された所有者、テーブル名、およびすべてのビュー名を取得するにはどうすればよいですか?私はdba_tablesとdba_viewsを別々に見ていますが、両方に参加する方法があります。所有者、tablename、ビュー名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 

注:コメントの1で述べたように、「テーブル用に作成ビュー名を」意味がありません。与えられたテーブルに依存するものとしてViewsと記述する必要があります。

+0

ありがとう!私は必要な編集を行った。 – sria

関連する問題