PRIOR
およびCONNECT_BY_ROOT
の2つの演算子は、階層問合せでのみ有効です。
階層問合せでは、CONNECT
BY
condition
内の1つの式をPRIOR
演算子で修飾する必要があります。CONNECT
BY
condition
が複合条件の場合、1つの条件のみにPRIOR
演算子が必要です(複数のPRIOR
条件を使用することもできます)。PRIOR
は、階層問合せ内でカレント行の親である行の直後にある式を評価します。
PRIOR
は、等価演算子を使用して列の値を比較する場合によく使用されます。(PRIOR
キーワードは演算子のどちら側でもかまいません。)PRIOR
を指定すると、列の親である行の値が使用されます。等号(=)以外の演算子は、理論上はCONNECT
BY
句に指定できます。ただし、これらの他の演算子の組合せによっては、作成される条件は無限ループを発生させる場合があります。この場合、実行時にループが検出され、エラーが戻されます。この演算子の詳細および例については、「階層問合せ」を参照してください。