在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语句中引用递归查询的结果即可。