【第22期】观点:IT 行业加班,到底有没有价值?

java 调用 Oracle 存储过程

原创 2013年12月05日 21:24:52

一个函数本质上一个返回一个结果的存储过程,这个例子示范了怎么调用有in、out和in/out参数的函数。

大同小异的方法。

   

  CallableStatement cs; 
  try { 
  // 调用一个没有参数的函数; 函数返回 a VARCHAR 
  // 预处理callable语句 
   
  cs = connection.prepareCall("{? = call myfunc}"); 
   
  // 注册返回值类型 
  cs.registerOutParameter(1, i); 
   
  // Execute and retrieve the returned value 
  cs.execute(); 
  String retValue = cs.getString(1); 
   
  // 调用有一个in参数的函数; the function returns a VARCHAR 
  cs = connection.prepareCall("{? = call myfuncin(?)}"); 
   
  // Register the type of the return value 
  cs.registerOutParameter(1, Types.VARCHAR); 
   
  // Set the value for the IN parameter 
  cs.setString(2, "a string"); 
   
  // Execute and retrieve the returned value 
  cs.execute(); 
  retValue = cs.getString(1); 
   
  // 调用有一个out参数的函数; the function returns a VARCHAR 
  cs = connection.prepareCall("{? = call myfuncout(?)}"); 
   
  // Register the types of the return value and OUT parameter 
  cs.registerOutParameter(1, Types.VARCHAR); 
  cs.registerOutParameter(2, Types.VARCHAR); 
   
  // Execute and retrieve the returned values 
  cs.execute(); 
  retValue = cs.getString(1);      // return value 
  String outParam = cs.getString(2);  // OUT parameter 
   
  // 调用有一个in/out参数的函数; the function returns a VARCHAR 
  cs = connection.prepareCall("{? = call myfuncinout(?)}"); 
   
  // Register the types of the return value and OUT parameter 
  cs.registerOutParameter(1, Types.VARCHAR); 
  cs.registerOutParameter(2, Types.VARCHAR); 
   
  // Set the value for the IN/OUT parameter 
  cs.setString(2, "a string"); 
   
  // Execute and retrieve the returned values 
  cs.execute(); 
  retValue = cs.getString(1);      // return value 
  outParam = cs.getString(2);      // IN/OUT parameter 
  } catch (SQLException e) { 
  } 


版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

Java调用Oracle存储过程示例

Oracle的存储过程见下面4种:1、无返回值的存储过程create or replace procedure sys_login_count is  var_flag_logindate date;...

Java jdbc调用Oracle数据库存储过程

http://perfectplan.iteye.com/blog/1582331   <h3 style="font-size: 16px; color: black; padding-bottom: 0px; padding-top: 10px; p

java调用oracle存储过程的自定义类型(可变数组)。

java调用oracle存储过程的自定义类型(可变数组)。 在使用存储过程中,我们有时需要传递可变数组,存在两种情况,存储过程有输入或输出参数为自定义可变数组的。在java代码中,如何正确调用o...

JAVA调用Oracle存储过程

[size=large][color=darkred]JAVA调用Oracle存储过程[/color][/size] JAVA跟Oracle之间最常用的是JAVA调用Oracle的存储过程,以下简要说明下JAVA如何对Oracle存储过程进行调用。 [color=blue]Ⅰ、不带输出参数情况[/color] 过程名称为pro1,参数个数1个,数据类型为整形数据 import java.sql. * ; public class ProcedureNoArgs { public static void main(String

oracle存储过程调用java代码

一、如何创建java存储过程?通常有三种方法来创建java存储过程。1. 使用oracle的sql语句来创建:e.g. 使用create or replace and compile java sou...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)