全部产品

层次查询运算符

更新时间:2020-03-26 11:51:22

PRIORCONNECT_BY_ROOT 运算符仅在 层次查询 中有效。

PRIOR 运算符

在层次查询中,CONNECT BY 条件中的一个表达式必须由 PRIOR 运算符限定。如果 CONNECT BY 条件是复合条件,只有一个条件要求使用 PRIOR 运算符,但是也可以有多个包含 PRIOR 运算符的条件。PRIOR 在层次查询中为当前行的父行计算紧随其后的表达式。

PRIOR 最常用在比较列值与相等运算符时(PRIOR 关键字可以在运算符的任意一 侧)。PRIOR 使数据库使用列中父行的值。理论上,在 CONNECT BY 子句中可以使用除等号(=)以外的其他运算符。但是,由这些其他运算符创建的条件可能会导致无限循环,在这种情况下,OceanBase 在运行时去检测循环并返回错误。

CONNECT_BY_ROOT 运算符

CONNECT_BY_ROOT 是一元运算符,仅在层次查询中有效。使用此运算符限定列时,OceanBase 使用根行中的数据返回列值。该运算符扩展了层次查询的 CONNECT BY [PRIOR] 条件的功能。

您不能在 START WITH 条件或 CONNECT BY 条件中指定此运算符。