2017-07-14 23 views
0

Oracle SQL開発者GUIでは、テーブルを開き、属性付きのウィンドウが表示されます。ここにはDependenciesという名前のウィンドウタブがあります。テーブル依存関係を持つOracle SQL Developerウィンドウビュー

私はこのクエリを見つけました:

select OWNER 
     , name 
     , type 
     , referenced_name 
     , referenced_type 
    from all_dependencies; 

が、Oracle SQL Developerなどのようなすべての所有者のための出力を示しませんでした。

どのようにしてこれらの結果をすべての所有者のクエリSQLで取得できますか?

ありがとうございます!

select owner, name, type, referenced_owner, referenced_name, referenced_type 
from dba_dependencies 
where referenced_owner = user and referenced_name = 'YOUR_TABLE_NAME'; 

またはバインド変数を使用して::のようなクエリでは

答えて

1

var object_owner varchar2(30); 
var object_name varchar2(30); 
exec :object_owner := user; 
exec :object_name := 'YOUR_TABLE_NAME'; 

select owner, name, type, referenced_owner, referenced_name, referenced_type 
from dba_dependencies 
where referenced_owner = :object_owner and referenced_name = :object_name ; 

あなたが実際にSQL Developerはボンネットの下に実行されるクエリを見ることができます。 [表示]メニューのに移動し、ログを選択するか(Windowsを使っていると仮定した場合)CtrlキーシフトLを打つ場合は、デフォルトでは、「 - ログメッセージ」と題され、ドッキングウィンドウを取得します。その下には「メッセージ」が選択された2つのタブがあります。代わりに "Statements"をクリックすると、使用されているステートメントとバインド変数を見ることができます。

select owner, name, type, referenced_owner, referenced_name, referenced_type , 
    owner sdev_link_owner, name sdev_link_name, type sdev_link_type 
from Dba_DEPENDENCIES 
where referenced_owner = :OBJECT_OWNER and referenced_name = :OBJECT_NAME 

select owner, name, type, referenced_owner, referenced_name, referenced_type , 
    referenced_owner sdev_link_owner, referenced_name sdev_link_name, referenced_type sdev_link_type 
from Dba_DEPENDENCIES 
where owner = :OBJECT_OWNER and name = :OBJECT_NAME 
:彼らはいくつかのより多くの列を取得し、両方の方法を行く依存関係をチェック -

この場合、私は上に示したものでバリエーションあるうちの2つはあなたが依存関係]タブを更新したときに発行される3つのステートメントがあり、

あなたが見ることができるものをどのように複製するかを把握したい場合は、それらは始めるのに適しています。

あなたがdba_dependencies表を参照するために必要な権限を持たないユーザーとして接続している場合は、SQL Developerは代わりにバックall_dependenciesにフォール:

だけオブジェクトに関する情報を表示します
select owner, name, type, referenced_owner, referenced_name, referenced_type , 
    owner sdev_link_owner, name sdev_link_name, type sdev_link_type 
from ALL_DEPENDENCIES 
where referenced_owner = :OBJECT_OWNER and referenced_name = :OBJECT_NAME 

select owner, name, type, referenced_owner, referenced_name, referenced_type , 
    referenced_owner sdev_link_owner, referenced_name sdev_link_name, referenced_type sdev_link_type 
from Dba_DEPENDENCIES 
where owner = :OBJECT_OWNER and name = :OBJECT_NAME 

あなたが選択してい/特権を実行します。上に示した最初のクエリでは、dba_dependenciesからall_dependenciesに変更すると、同等の結果が表示されます。

SQL Developer asに接続している同じユーザーとしてSQLを手動で実行すると、同じ結果が表示されます。

+0

良いヒント、感謝! – Catalin

関連する問題