在Java中调用Oracle的过程和函数

王朝oracle·作者佚名  2008-05-31
宽屏版  字体: |||超大  

内容或简介:

/**

调用数据库里的一个函数

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

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有