oracle递归函数如何调用

avatar
作者
猴君
阅读量:2

在Oracle中,可以使用WITH语句来定义递归查询,也可以使用递归子查询来调用递归函数。

  1. 使用WITH语句定义递归查询:
WITH recursive_query AS ( -- 初始查询 SELECT initial_query FROM ... UNION ALL -- 递归查询 SELECT recursive_query FROM recursive_query JOIN ... ON ... ) SELECT * FROM recursive_query; 

在WITH语句中,递归查询部分由UNION ALL连接,其中初识查询部分是非递归的,递归查询部分是基于前一次的查询结果进行递归的。

  1. 使用递归子查询调用递归函数:
SELECT recursive_function(...) FROM dual CONNECT BY PRIOR column = column; 

在递归子查询中,使用CONNECT BY PRIOR语句来指定递归条件,PRIOR关键字表示前一次的迭代结果。递归函数可以在SELECT语句中调用,返回结果通过CONNECT BY PRIOR语句进行迭代。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!