次のようなOracleテーブルがあります。
スキーマ:
(数値) node_id
(数値)parent_id
(数値)parent_seq
テーブル内の各エントリは、1 つの親子関係を表します。親は複数の子の親になることができ、子は複数の親を持つことができます (ただし、コミットする前に検証されるため、サイクルは存在しないと想定できます)。子に複数の親がある場合、テーブル内の node_id に対応する複数の行があり、parent_seq は親ごとに増加します。
ここで、ツリー全体を再構築する必要はありません。各ノードの DEPTH を知る必要があるだけです。DEPTH の一般的な定義に従う (木の深さと高さの違いは何ですか? )
ノードの深さは、ノードからツリーのルート ノードまでのエッジの数です。
CONNECT_BY 構文を使用して Oracle でこれを適切に行う方法はありますか?