Oracle创建存储过程以及JAVA调用方法

本文介绍了一个Oracle存储过程的创建及通过Java进行调用的方法。存储过程用于查询sys_user表并返回结果集,Java代码实现了连接Oracle数据库并执行存储过程获取查询结果。

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

一、创建存储方法,返回结果集:

CREATE OR REPLACE PACKAGE PAK_1 IS
  TYPE retcursor IS REF CURSOR;
  PROCEDURE pro_read(outcurse OUT retcursor);
END;


CREATE OR REPLACE PACKAGE BODY PAK_1 IS
  PROCEDURE pro_read(outcurse OUT retcursor) IS
  begin
    OPEN outcurse FOR select a.user_id,a.name,a.login_code from sys_user a;
  end pro_read;
end PAK_1;


二、java调用方法


               String driver = "oracle.jdbc.driver.OracleDriver";
String strUrl = "jdbc:oracle:thin:@172.20.0.95:1521:ilmsddd";
Statement stmt = null;
ResultSet rs = null;
Connection conn = null;
try {
Class.forName(driver);
conn = DriverManager.getConnection(strUrl, "atmsd", "atmsd");
CallableStatement proc = null;
proc = conn.prepareCall("{ call PAK_1.PRO_READ(?) }");
proc.registerOutParameter(1,oracle.jdbc.OracleTypes.CURSOR );
proc.execute();
rs=(ResultSet)proc.getObject(1);
while(rs.next())
     {
         System.out.println( rs.getString(1)+"=="+rs.getString(2));
     }
} catch (SQLException ex2) {
ex2.printStackTrace();
} catch (Exception ex2) {
ex2.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
}
} catch (SQLException ex1) {
}
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值