在Oracle中,可以使用WITH子句(也称为公共表表达式)来编写递归查询。当使用递归查询时,可以在查询中指定递归终止条件和递归部分。
要获取递归函数的结果,可以在SELECT语句中引用递归查询的结果。例如:
WITH RECURSIVE cte (id, parent_id, name, level) AS ( SELECT id, parent_id, name, 0 AS level FROM your_table WHERE parent_id IS NULL UNION ALL SELECT t.id, t.parent_id, t.name, cte.level + 1 FROM your_table t INNER JOIN cte ON t.parent_id = cte.id ) SELECT * FROM cte;
在上面的例子中,递归查询将从表中选择具有NULL parent_id的行作为起始点,并且每次递归时会将level加1。最后的SELECT语句将返回递归查询的所有结果。
因此,要获取递归函数的结果,只需在SELECT语句中引用递归查询的结果即可。