2016-04-20 6 views
1

私のストアドプロシージャコードをすべて処理することで、データ系列を視覚化する必要があります(どのテーブルがどのテーブルに移動するかなど)。これを行う無料のツール、またはそれを行うことができるjava/c#のライブラリはありますか?ストアドプロシージャからのOracleデータ系列

答えて

1

私が正しいと分かっている場合は、どのテーブルが他のテーブルなどを参照しているかを見たいと思います。 これは階層的な/再帰的な問題です。オラクルで

、あなたはそれの外に読める文字列を作るために主キーとrelationaly-制約およびユーザーSYS_CONNECT_BY_PATHを含むメタデータを照会することによりCONNECT-BY/START-WITHオペレータでこれを解決することができます。

WITH tabrels AS (
    SELECT t.table_name, pk.constraint_name PrimKey, rel.table_name referenced_by 
    FROM all_tables t 
    LEFT JOIN all_constraints pk ON pk.constraint_type = 'P' AND pk.table_name = t.table_name 
    LEFT JOIN all_constraints rel ON rel.r_constraint_name = pk.constraint_name 
    WHERE t.owner ='**<your schema owner here>**' 
     AND (rel.table_name IS NULL OR t.table_name <> rel.table_name) -- exclude self-references 
    ) 
SELECT LEVEL, substr(sys_connect_by_path(tr.table_name,' <- '), 5) datapath 
    FROM tabrels tr 
    CONNECT BY NOCYCLE tr.referenced_by = PRIOR tr.table_name 
    START WITH tr.referenced_BY IS NULL 
    ORDER SIBLINGS BY tr.table_name 
+0

ありがとうoratom。残念ながら、それは単なるpk/fkや事実と次元の関係ではありません。ソースからテーブルへのデータウェアハウスでは、複数の結合や結合を行い、データをソースに配置し、ビュー内でそれらを公開してから、プレゼンテーション層などへのさらなる結合のためにビューを使用することができます。 PL/SQLストアドプロシージャ – Ronbear

0

それはより多くのようですOracle PL/SQLや他の種類のプログラミング・コードから取得するのがはるかに難しい、古典的なデータ・フロー要件が好きです。私はhttps://getmanta.comをチェックすることをお勧めします。主にOracleストアド・プロシージャのようなプログラミング・コードに焦点を当てたユニークなデータ系統ソリューションです。

関連する問題