java 调用 Oracle 存储过程

来源:互联网 发布:淘宝贷款满足什么条件 编辑:程序博客网 时间:2024/06/05 17:18

一个函数本质上一个返回一个结果的存储过程,这个例子示范了怎么调用有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) {   } 


原创粉丝点击