`
齐晓威_518
  • 浏览: 618170 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

Java调用Oracle函数的两种情况

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

调用无入参的函数

函数定义

CREATE OR REPLACE Function f_getstring Return Varchar2 Is 
Begin 
Return ''String value''; 
End f_getstring;
调用函数的Java

CallableStatement cstmt = con.prepareCall("{?=call f_getstring}"); 
cstmt.registerOutParameter(1, Types.VARCHAR); 
cstmt.execute(); 
String strValue = cstmt.getString(1); 
System.out.println("The return value is:" + strValue); 
cstmt.close();
调用有一个入参,一个输出参数以及一个字符串返回值的函数

函数定义

CREATE OR REPLACE Function f_Getinfo(Id Integer, Age Out Integer) Return Varchar2 Is 
Begin 
Age := 10; 
Return ''The age is:'' || Id; 
End f_Getinfo;
调用函数的Java代码

CallableStatement cstmt = con
  .prepareCall("{?=call f_getinfo(?,?)}"); 
cstmt.registerOutParameter(1, Types.VARCHAR); 
cstmt.setInt(2, 11); 
cstmt.registerOutParameter(3, Types.INTEGER); 
cstmt.execute(); 
String strValue = cstmt.getString(1); 
int age = cstmt.getInt(3); 
System.out.println("The return value is:" + strValue 
  + " and age is:" + age); 
cstmt.close();
分享到:
评论

相关推荐

    java调用oracle存储过程返回结果集,Record,cursor参照.pdf

    Java调用Oracle存储过程返回结果集Record、Cursor参照 Java调用Oracle存储过程返回结果集(Record)是指在Java程序中通过调用Oracle存储过程来获取记录集的结果。下面将详细介绍相关知识点。 创建Type 在Oracle中...

    hibernate 调用oracle函数

    4. **定义Hibernate Native SQL查询**:由于Hibernate默认不支持调用存储过程或函数,我们需要使用`@NamedNativeQuery`或`@SqlResultSetMapping`注解来定义一个原生SQL查询,用于调用Oracle函数。例如: ```java @...

    Java调用Oracle的过程和函数.doc

    10. **Oracle函数和过程**: Oracle数据库支持两种类型的PL/SQL块:过程(无返回值)和函数(返回一个值)。在Java中,根据所调用的是过程还是函数,注册输出参数和处理结果的方式会有所不同。 以上是Java调用Oracle...

    个人亲测oracle触发器调用java程序

    Oracle触发器调用Java程序 Oracle触发器是Oracle数据库中的一种机制,可以在数据库中执行特定的操作。在本文中,我们将介绍如何使用Oracle触发器调用Java程序。 一、加载Java程序 首先,我们需要将Java程序加载到...

    java调用oracle sqlserver存储过程共用方法

    ### Java调用Oracle与SQL Server存储过程的通用方法 #### 1. **建立数据库连接** 在Java中,使用JDBC(Java Database Connectivity)来连接数据库。根据`dbType`参数动态选择正确的数据源,即Oracle或SQL Server的...

    ibatis调用oracle的函数,存储过程的方法

    在Ibatis中调用Oracle函数和存储过程,你需要以下步骤: 1. **配置映射文件(Mapper XML)**: - 创建一个XML映射文件,定义SQL语句。对于函数,使用`<select>`标签;对于存储过程,使用`<procedure>`标签。 - 在...

    ORACLE CRC32函数

    2. **创建Java函数**:接下来,需要创建一个Java函数,该函数调用上面定义的`crc32_class`类中的`getCRC32`方法,并返回计算结果。 ```sql CREATE OR REPLACE FUNCTION getCRC32(str1 VARCHAR2) RETURN BINARY_...

    java操作Oracle

    Oracle提供了两种客户端驱动:OCI驱动和Thin驱动。尽管OCI驱动利用JNI与数据库通信,理论上提供更高的性能,但实践证明,对于大多数场景,纯Java的Thin驱动具有更好的表现,因为它不需要依赖Oracle客户端库,部署更...

    用JAVA调用Tuxedo服务必须的JAR包

    这就涉及到我们今天要讨论的主题——如何用JAVA调用Tuxedo服务。 首先,我们需要理解的是Java调用Tuxedo服务的基础:Jolt(Java to Tuxedo)。Jolt是一个Java接口,它提供了连接到Tuxedo服务的桥梁,使得Java开发者...

    Java调用sqlplus执行定制的sql脚本

    在Java中调用SQL*Plus,通常有两种方式:一种是通过操作系统命令行(ProcessBuilder或Runtime类),另一种是使用第三方库如JDBC-ODBC桥接或者OCI驱动。 1. **使用操作系统命令行**: - 首先,确保你的系统环境变量...

    java调用存储过程返回数组

    总结来说,Java调用存储过程并处理返回数组,需要理解存储过程的定义,正确使用`CallableStatement`或其子类如`OracleCallableStatement`,以及处理Oracle特定数据类型的方法。通过这些技巧,我们可以有效地在Java...

    java oracle数据库过程实现jsp分页

    首先,Oracle函数包是组织相关函数和过程的一种方式,它允许我们将一组相关的数据库操作封装在一起,便于管理和复用。在Java应用中,我们可以通过调用这些函数包来执行数据库操作,例如进行分页查询。 分页的核心...

    02-oracle函数1

    接下来,我们详细探讨几种常见的Oracle函数: 1. **字符函数**: - `concat(string1, string2)`:连接两个字符串。 - `initcap(string)`:使字符串中每个单词的首字母大写。 - `lower(string)` / `upper(string)...

    oracle 存储过程 函数 dblink

    在这段Java代码中,我们使用了`CallableStatement`来调用Oracle存储过程`TESTA`。关键点包括: - `prepareCall`方法用于准备调用存储过程。 - 使用`setString`方法设置输入参数的值。 - 调用`execute`方法执行存储...

    Java调用Oracle存储过程详解

    Java调用Oracle存储过程是Java开发中常见的任务,特别是在企业级应用中,Oracle数据库与Java后端的交互经常需要利用存储过程来优化性能或者执行复杂的业务逻辑。以下将详细介绍如何在Java中调用Oracle存储过程。 1....

    oracle调用webService

    Oracle 调用 WebService Oracle 调用 WebService 是指在 Oracle 数据库中调用 WebService 的过程。...Oracle 调用 WebService 可以实现业务逻辑的复杂处理和数据传递,是一种非常有用的技术手段。

    delphi 调用 oracle

    4. **PL/SQL过程和函数的调用**:Delphi通过ODAC支持调用Oracle中的存储过程和函数。这可以通过TOracleProcedure和TOracleFunction组件完成,或者直接在TOracleCommand组件的SQL命令属性中编写PL/SQL代码。 5. **...

    Oracle中的函数、存储过程、包

    - **包**是封装相关函数和过程的容器,类似于Java中的接口,提供了一种组织和命名空间管理的方法。 - **包头(Specification)**:定义包的接口,包括函数和过程的签名,不包含实现细节。 - **包体(Body)**:...

Global site tag (gtag.js) - Google Analytics