首页 > 解决方案 > PLSQL - 递归 sql 的游标

问题描述

我有一个递归 sql 查询,它看起来像这样:

WITH goes(from_, to_) AS 
 (
  SELECT from_, to_ FROM ways
   UNION ALL
  SELECT ways.from, goes.to_ FROM ways, goes
  WHERE ways.to_ = goes.from_ AND ways.from_ <> goes.to_
 )
 CYCLE from_ SET is_cycle TO 'I' DEFAULT 'N' 
 SELECT  distinct from_, to_ FROM goes order by 1

我想写一个plsql过程,它可以把这个查询的输出当作游标处理,但是我不知道如何启动它。

你能帮帮我吗?谢谢你。

标签: sqloracleplsql

解决方案


这取决于您所说的“句柄”是什么意思。最简单的是隐式 FOR 游标:

for rec in 
  (
     with goes as ....... order by 1
  )
loop
   -- enter processing commands here
end loop;

推荐阅读