龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

Java调用Oracle函数的两种情况

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
下面为您介绍的Java调用 Oracle 函数方法,共两种情况,一种调用无入参的Oracle函数,一种则是调用有一个入参,一个输出参数以及一个字符串返回值的Oracle函数。 调用无入参的函数 函

下面为您介绍的Java调用Oracle函数方法,共两种情况,一种调用无入参的Oracle函数,一种则是调用有一个入参,一个输出参数以及一个字符串返回值的Oracle函数。

调用无入参的函数

函数定义

  1. CREATE OR REPLACE Function f_getstring Return Varchar2 Is  
  2. Begin  
  3. Return ''String value'';  
  4. End f_getstring; 

调用函数的Java片断

  1. CallableStatement cstmt = con.prepareCall("{?=call f_getstring}");  
  2. cstmt.registerOutParameter(1, Types.VARCHAR);  
  3. cstmt.execute();  
  4. String strValue = cstmt.getString(1);  
  5. System.out.println("The return value is:" + strValue);  
  6. cstmt.close(); 

调用有一个入参,一个输出参数以及一个字符串返回值的函数

函数定义

  1. CREATE OR REPLACE Function f_Getinfo(Id Integer, Age Out Integer) Return Varchar2 Is  
  2. Begin  
  3. Age :10;  
  4. Return ''The age is:'' || Id;  
  5. End f_Getinfo; 

调用函数的Java代码片断

  1. CallableStatement cstmt = con 
  2.   .prepareCall("{?=call f_getinfo(?,?)}");  
  3. cstmt.registerOutParameter(1, Types.VARCHAR);  
  4. cstmt.setInt(2, 11);  
  5. cstmt.registerOutParameter(3, Types.INTEGER);  
  6. cstmt.execute();  
  7. String strValue = cstmt.getString(1);  
  8. int age = cstmt.getInt(3);  
  9. System.out.println("The return value is:" + strValue  
  10.   + " and age is:" + age);  
  11. cstmt.close(); 



【编辑推荐】

oracle函数返回表的实现

详解Windows下卸载Oracle数据库

详解Oracle多种表连接方式

oracle中使用SQL递归语句的例子

DB2常用函数和Oracle的比较

精彩图集

赞助商链接