Oracle使用存储过程个人觉得还是有点麻烦的,一个不小心就出现什么参数错误,个人建议如果能少使用就少使用。这里我想用jdbc的方式给大家交流下我自己写的一个比较简单的存储过程。至于用框架写的我暂时还没有研究出来。过几天会补全给大家的。1.先来写一个带有输入和输出参数的存储过程
- create or replace procedure xxx(
- newfid In Number,
- newfname Out Varchar
- )
- As
- begin
- Select fname Into newfname From m_student Where fid=newfid;
- end;
这里需要注意varchar不能写成varchar2,否则会出现输入和输出参数不匹配的异常2.使用jdbc执行存储过程
- package org.lxh;
-
- import java.sql.CallableStatement;
- import java.sql.Connection;
- import java.sql.ResultSet;
- import java.sql.SQLException;
-
- import oracle.jdbc.OracleCallableStatement;
-
- public class TestUse {
-
- public static void main(String[] args) throws Exception {
-
- DBConnection con = new DBConnection();
- Connection getConn = con.getConnection();
- OracleCallableStatement cs = (OracleCallableStatement)getConn.prepareCall("{call xxx(newfid => :newfid,newfname => :newfname)}");
- cs.setInt(1, 365);
- cs.registerOutParameter(2, java.sql.Types.VARCHAR);
-
- cs.execute();
-
- String strAge = cs.getString(2);
- System.out.println("fid是:" + strAge);
-
- getConn.close();
-
- }
-
- }
OracleCallableStatement可以写成CallableStatement,输入参数不需要注册,但是输出参数需要注册,最要注意的就是数据类型了否则也会出错。
更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12用JDBC连接MySQL数据库浅谈Oracle SQL trace相关资讯 Oracle存储过程
- Oracle存储过程拼接in语句 & 自定 (今 09:21)
- 【PL/SQL系列】Oracle存储过程使用 (04月23日)
- Oracle存储过程及Java调用 (05/28/2015 20:29:33)
| - Java调用Oracle存储过程返回多条结 (04月29日)
- Oracle中的存储过程简单应用 (04月10日)
- 判断点是否落在面中的Oracle存储过 (05/09/2015 09:39:30)
|
本文评论 查看全部评论 (0)
评论声明- 尊重网上道德,遵守中华人民共和国的各项有关法律法规
- 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
- 本站管理人员有权保留或删除其管辖留言中
|