存储过程与Java调用

Java调用ORACLE的存储过程

一、创建 t_Test 表

CREATE TABLE t_Test(
f_XH VARCHAR(6) PRIMARY KEY,
f_Money Number,
f_PDate DATE );
/

二、加入数据
INSERT INTO t_Test SELECT 'A1',1.0,SYSDATE FROM DUAL;
INSERT INTO t_Test SELECT 'A2',2.0,SYSDATE FROM DUAL;
INSERT INTO t_Test SELECT 'A3',3.0,SYSDATE FROM DUAL;
INSERT INTO t_Test SELECT 'A4',4.0,SYSDATE FROM DUAL;

SELECT * FROM t_Test

三、创建游标 【cur_Test】 动态游标
CREATE OR REPLACE PACKAGE cur_Test
IS
  TYPE RefCursor IS Ref CURSOR;
END cur_Test;
/

四、创建存储过程 【p_GetMoney】
CREATE OR REPLACE PROCEDURE p_GetMoney
(
uCode  OUT NUMBER,
uMsg   OUT VARCHAR2,
uCur   OUT cur_Test.RefCursor,
uMoney IN  NUMBER
) IS
BEGIN
  uCode := 0;
  uMsg  := '操作成功';

  OPEN uCur FOR SELECT * FROM t_Test WHERE f_Money < uMoney;
  EXCEPTION
  WHEN Others THEN
  uCode := -1;
  uMsg  := '错误代码:' || SQLCODE || CHR(13) || '错误信息:' || SQLERRM;
END p_GetMoney;


五、创建函数【f_GetMoney】
CREATE OR REPLACE FUNCTION f_GetMoney
(
uMoney IN NUMBER
)
RETURN cur_Test.RefCursor
AS
 uCur cur_Test.RefCursor;
BEGIN
  OPEN uCur FOR SELECT f_XH,f_Money,f_PDate FROM t_Test WHERE f_Money < uMoney;
  Return uCur;
END;



Java 源码

六、Java调用p_GetMoney
import Java.sql.*;
import oracle.jdbc.OracleCallableStatement;
import oracle.jdbc.OracleTypes;

public class
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

彖爻之辞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值