pl/sql 存储过程调用 带cursor输出参数

我对oracle和pl/sql的存储过程不是很熟悉,如图右边提示的框说明了还差一个输出参数,类型是cursor.这个存储过程怎么调用和打印结果,求oracle大神... 我对oracle和pl/sql的存储过程不是很熟悉,如图右边提示的框说明了还差一个输出参数,类型是cursor.这个存储过程怎么调用和打印结果,求oracle大神 展开
 我来答
百度网友58916d3
2017-12-04 · TA获得超过2410个赞
知道小有建树答主
回答量:5438
采纳率:7%
帮助的人:542万
展开全部
1.创建表T_MONITOR_DEVICE
创建后的表结构

2.创建存储过程

create or replace procedure ProcTestNew(v_monitordeviceid in number,curdata out sys_refcursor )
As

begin

open curdata for
select ID, IP,PORT from T_MONITOR_DEVICE where id=v_monitordeviceid;--带参数测试
-- select ID, IP,PORT from T_MONITOR_DEVICE;
end ProcTestNew;

二.java程序中调用

public void TestProc()
{
Connection conn=null;
ResultSet rs=null;
try {
//this.getSession()为hibernate中的Session对象
conn = SessionFactoryUtils.getDataSource(this.getSession().getSessionFactory()).getConnection();
CallableStatement proc = conn.prepareCall("{call ProcTestNew(?,?) }");
BigDecimal b1 = new BigDecimal(1176);
proc.setBigDecimal(1, b1);
proc.registerOutParameter(2, OracleTypes.CURSOR);
追问

有点不太合适我的情况,我的问题用工具解决了(下边的框填值查询),其实最后我也不知道怎么用纯sql调用

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式