oracle存储过程 参数= gt,求看大神看下 oracle 存储过程 感激不尽

这篇博客探讨了在Java中调用PL/SQL存储过程时遇到的问题,该存储过程使用游标返回结果。文章详细展示了存储过程的创建代码,并指出在将SQL语句作为参数放入存储过程后出现的错误。作者希望通过社区的帮助找到问题所在,以解决动态游标在Java中调用时的不兼容问题。
摘要由CSDN通过智能技术生成

准备在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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值