階層クエリ演算子にはPRIORとCONNECT_BY_ROOTがあります。これら2つの演算子は階層クエリでのみ有効です。
PRIOR演算子
階層クエリでは、CONNECT BY 条件には少なくとも1つ、PRIOR 演算子で限定された式を含める必要があります。PRIOR 演算子の結果は、現在の行の親行を使用して、その直後の式を評価することで得られます。
PRIOR は主に列の等価比較シナリオで使用されます(PRIOR は比較子のどちら側にも配置できます)。理論上、CONNECT BY 句では等号(=)以外の演算子も使用できます。しかし、これら他の演算子で作成された条件は循環を引き起こす可能性があり、その場合、OceanBaseデータベースは実行時に循環を検出し、エラーを返します。
CONNECT_BY_ROOT演算子
CONNECT_BY_ROOT は一元演算子であり、階層クエリでのみ有効です。CONNECT_BY_ROOT のパラメータには列やほとんどの式を指定でき、CONNECT_BY_ROOT 演算子の結果は、ルート行のデータを使用してパラメータの値を計算したものに等しくなります。
注意
START WITH 条件または CONNECT BY 条件でこの演算子を指定することはできません。
階層クエリの詳細については、階層クエリを参照してください。