2012-04-21 5 views
1

Toadが提供するコードロードマップ機能に、オブジェクトの依存関係を示す機能があります。コードロードマップの背後にあるデータディクショナリと機能

誰かがToadがどのような基準で依存関係を生成するか教えていただけますか?私は、この関係を得るためにバックエンドで動作するデータ・ディクショナリ・ビューが存在すると仮定しています。dba_dependenciesです。

パッケージ名、table_nameのようなオブジェクト名を渡すスクリプトを書くことができます。この中には、渡されたオブジェクトの依存関係が表示されます。

コードロードマップには、テーブルのデータを生成するオプションがありますが、これはどのように機能しますか?

その背後にあるアルゴリズムは何ですか?子テーブルに外部キーがあり、親テーブルが空の場合、どのように動作しますか?従属表を最初に、次に子表に移入する方法。

+0

一度に1つだけ質問してください。また、2番目の質問は広すぎるため、おそらくToadの開発者だけがその実装方法を知っています。 – Sathya

答えて

2

あなたが探しているオブジェクトが参照されているオブジェクトのリストを提供すべきで照会したいオブジェクトに等しい列REFERENCED_NAMEでビューを照会、user_depencies/dba_dependenciesビュー構造を見てみます。


2つ目の質問は、おそらく唯一のヒキガエルの開発者が、彼らはそれを実現してきた方法を知っている&広すぎます。データ・ディクショナリーは、表のさまざまな制約に関する情報を提供します。私の推測では、データ辞書を見てアルゴリズムとなるだろう&は、制約/マスター子関係を処理するための異なるコードパスを持っています。別の前提として、処理された例外を使用して、データがきれいに生成されることを保証します。

+0

:ありがとうございますが、私は 'package'の中に' procedure'の 'reference'をどうやって得ることができるのでしょうか?私は' procedure name'を渡した場合にスクリプトを作成しようとしています。パッケージ、それから私はそれが呼び出されるすべてのポイントを取得します。 –

+0

@ GauravSoni Oracleは依存関係のビューからその情報を提供しません。あなたは 'user_source'をクエリして自分でそれを行う必要があります – Sathya

+0

助けてくれてありがとう。 –

関連する問題