|
-
Oracle使用存储过程个人觉得还是有点麻烦的,一个不小心就出现什么参数错误,个人建议如果能少使用就少使用。这里我想用jdbc的方式给大家交流下我自己写的一个比较简单的存储过程。至于用框架写的我暂时还没有研究出来。过几天会补全给大家的。
1.先来写一个带有输入和输出参数的存储过程
1.create or replace procedure xxx(
2. newfid In Number,
3. newfname Out Varchar
4.)
5.As
6.begin
7.Select fname Into newfname From m_student Where fid=newfid;
8.end; 这里需要注意varchar不能写成varchar2,否则会出现输入和输出参数不匹配的异常
2.使用jdbc执行存储过程
1.package org.lxh;
2.
3.import java.sql.CallableStatement;
4.import java.sql.Connection;
5.import java.sql.ResultSet;
6.import java.sql.SQLException;
7.
8.import Oracle.jdbc.OracleCallableStatement;
9.
10.public class TestUse {
11.
12. public static void main(String[] args) throws Exception {
13.
14. DBConnection con = new DBConnection();
15. Connection getConn = con.getConnection();
16. OracleCallableStatement cs = (OracleCallableStatement)getConn.prepareCall("{call xxx(newfid => :newfid,newfname => :newfname)}");
17. cs.setInt(1, 365);
18. cs.registerOutParameter(2, java.sql.Types.VARCHAR);
19.
20. cs.execute();
21.
22. String strAge = cs.getString(2);
23. System.out.println("fid是:" + strAge);
24.
25. getConn.close();
26.
27. }
28.
29.} 本文出自:亿恩科技【www.enkj.com】
服务器租用/服务器托管中国五强!虚拟主机域名注册顶级提供商!15年品质保障!--亿恩科技[ENKJ.COM]
|