Welcome 微信登录

首页 / 数据库 / MySQL / Oracle使用带有输入和输出参数的存储过程

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(1365);  
  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. }  
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)
表情: 姓名: 字数


评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中