java调用存储过程多结果集_Java调用Oracle存储过程返回多条结果集

本文介绍了如何使用Java调用Oracle存储过程`SP_DATA_TEST`,该过程通过游标返回多个结果集。存储过程创建了一个不带输入参数、只有一个输出参数的示例,输出参数为一个包含'A'、'B'、'C'三行数据的游标。在Java代码中,使用`CallableStatement`和`registerOutParameter`来调用存储过程并获取结果集,然后遍历打印数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Oracle版本:11g

Oracle存储过程,使用游标的方式返回多行、多列数据集合:

CREATE OR REPLACE PROCEDURE SP_DATA_TEST( /*P_ID  IN INT,*/ --传入参数,不需要可注释

O_CUR OUT SYS_REFCURSOR --输出数据,本文重点描述

) IS

BEGIN

OPEN O_CUR FOR

SELECT *

FROM (SELECT 'A', SYSDATE - 1

FROM DUAL

UNION ALL

SELECT 'B', SYSDATE

FROM DUAL

UNION ALL

SELECT 'C', SYSDATE + 1 FROM DUAL) O

WHERE 1 = 1;

END;

Java代码编码,程序直接调用Oracle的存储过程:SP_DATA_TEST,调用的方法:call SP_DATA_TEST(?),本文只需要输出数据,不需要输入参数,故只需要一个“?”即可,若是需要传输参数,则根据需要填写多个参数即可。本文直接使用了main方法测试,也可先自建Java Oracle连接池后使用。

package com.***.test;

import java.sql.CallableStatement;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值