qq_25662627 2016-11-26 04:48 采纳率: 100%
浏览 833
已采纳

求看大神看下 oracle 存储过程 感激不尽

准备在java中调用 用游标返回的存储过程 这个在pl/sql中显示这个存储过程是有问题的,begin中的sql语句 拿出来是可以以用的 只不过放在存储过程里面时候是把 固定的值 换成了参数 不知道哪里错了,希望大神帮看看

CREATE OR REPLACE PACKAGE TOLL_PATH_PACKAGE IS
--动态游标
TYPE REFCURSOR IS REF CURSOR;
END TOLL_PATH_PACKAGE;

CREATE OR REPLACE PROCEDURE TOLL_PATH_LENGTH AS
(

CUR_RET OUT TOLL_PATH_PACKAGE.REFCURSOR,
IN_LINK IN NUMBER, --起始
OUT_LINK IN NUMBER --目的
)
IS
BEGIN
OPEN CUR_RET FOR
with T (LINK_PID,S_NODE_PID,E_NODE_PID,tollpath,LENGTH,lvl) as (
select LINK_PID,
S_NODE_PID,
E_NODE_PID,
'/'||LINK_PID as tollpath,
LENGTH,
1 as lvl
from rd_link123
where LINK_PID = IN_LINK --起始
union all
select r.link_pid,
r.s_node_pid,
r.e_node_pid,
t.tollpath||'/'||r.link_pid,
t.length + r.length,
t.lvl + 1
from t,rd_link123 r
where r.s_node_pid = t.e_node_pid
and IN_LINK<> r.e_node_pid --不能转回来
and t.link_pid <>OUT_LINK --目的地
and lvl <400
and instr(t.tollpath,'/'||r.link_pid)=0
)
select t.link_pid,to_clob(t.tollpath||'/') path,t.length
from T where LINK_PID=OUT_LINK;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('出错了');
END TOLL_PATH_LENGTH;

  • 写回答

2条回答 默认 最新

  • dabocaiqq 2016-11-26 15:22
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 求会做聚类,TCN的朋友有偿线上指导。以下是目前遇到的问题
  • ¥100 无网格伽辽金方法研究裂纹扩展的程序
  • ¥15 错误于library(org.Hs.eg.db): 不存在叫‘org.Hs.eg.db’这个名称的程序包,如何解决?
  • ¥60 求一个图片处理程序,要求将图像大小跟现实生活中的大小按比例联系起来的
  • ¥50 求一位精通京东相关开发的专家
  • ¥100 求懂行的大ge给小di解答下!
  • ¥15 pcl运行在qt msvc2019环境运行效率低于visual studio 2019
  • ¥15 MAUI,Zxing扫码,华为手机没反应。可提高悬赏
  • ¥15 python运行报错 ModuleNotFoundError: No module named 'torch'
  • ¥100 华为手机私有App后台保活