- 0
- 0
- 约3.34千字
- 约 5页
- 2021-09-26 发布于山东
- 举报
Java中调用存储过程或存储函数的方法.
Java中调用存储过程或存储函数的方法.
PAGE / NUMPAGES
Java中调用存储过程或存储函数的方法.
Java 中调用存储过程或存储函数的方法 .txt 机会就像秃子头上一根毛,你抓住就抓住了,抓
不住就没了。我和你说了 10 分钟的话,但却没有和你产生任何争论。那么,我们之间一定有个人变得虚伪无比!过错是短暂的遗憾,错过是永远的遗憾。相遇是缘,相知是份,相爱是约定,相守才是真爱。 1. 调用存储过程:
CallableStatement clstmt = null;
try {
clstmt = conn.prepareCall({call package_name.procedure_name(?,?,?,?,?};
clstmt.setString(1, bill.getBillType(;
clstmt.setString(2, bill.getId(;
clstmt.setInt(3, bill.getNum(;
clstmt.registerOutParameter(4, Types.CHAR;
clstmt.registerOutParameter(5, Types.VARCHAR;
clstmt.execute(;
out_opresult = clstmt.getString(4.trim(;
out_operror = clstmt.getString(5.trim(;
} catch (SQLException e { System.out.println(e.getMessage(;
}
2. 调用存储函数:
CallableStatement clstmt = null;
try {
clstmt = conn.prepareCall({? = call package_name.function_name(?,?,?,?};
clstmt.registerOutParameter(1, Types.VARCHAR;
clstmt.setString(2, bill.getBillType(;
clstmt.setString(3, bill.getId(;
clstmt.registerOutParameter(4, Types.CHAR;
clstmt.registerOutParameter(5, Types.VARCHAR;
clstmt.execute(;
out_opresult = clstmt.getString(4.trim(;
out_operror = clstmt.getString(5.trim(;
} catch (SQLException e { System.out.println(e.getMessage(;
}
* 存储过程编写时应注意:
输出参数不能作为查询条件;
eg: 假设, out_id 已赋值,
SELECT name
INTO out_name
FROM tb_test
WHERE id = out_id;
这样写 PL/SQL 中会正常通过,而在 Java 程序调用该存储过程时会报错,需要改成:
v_id CHAR(8 := ;
先对 v_id 赋值,
SELECT name
INTO out_name
FROM tb_test
WHERE id = v_id;
这样 PL/SQL 和 Java 程序中都可正常通过和调用。
如存储过程中带有 Date 、 Boolean 型参数, Java 程序调用时会出错,
报类型不匹配,目前只能不用 Date、 Boolean 型作为存储过程参数,可能的原因: JDBC不支持。。。
测试程序如下:存储函数如下:
FUNCTION my_test(in_test1 IN CHAR,
in_test2 IN BOOLEAN,
out_test3 OUT VARCHAR RETURN VARCHAR IS
v_test CHAR(3 := ;
BEGIN
select aaa into v_test from dual;
Return OK;
EXCEPTION
WHEN OTHERS THEN
out_test3 := SQLCODE;
Return SQLCODE;
END;
Java 代码如下:
try {
clstmt = conn.prepareCall({? = call my_test(?,?,?};
clstmt.registerOutParameter(1, Types.VARCHAR;
clstmt.setString(2, 1111111;
clstmt.setBoolean(3, false;
clstmt.registerOut
您可能关注的文档
最近下载
- 图案变化与统一课件设计.pptx VIP
- 2025年金融风险管理师买入看跌期权与卖出看跌期权策略专题试卷及解析.pdf VIP
- 2025年拍卖师拍卖谈判中的谈判记录与总结技巧专题试卷及解析.pdf VIP
- 2025年房地产经纪人客户隐私保护监管政策解读专题试卷及解析.pdf VIP
- 基于单片机的数控直流稳压电源的设计.docx VIP
- 县域消费扶贫与长效帮扶机制分析.pdf VIP
- 2025年项目管理专业项目交付成果验收检查表编制专题试卷及解析.pdf VIP
- 煤矿露天改扩建项目竣工验收报告.docx
- 人体解剖学复习测试有答案(二).doc VIP
- 基于stm32的智能小车设计毕业设计论文.docx VIP
原创力文档

文档评论(0)