java连接数据库调用有返回值的oracle存储过程

数据库 Oracle
在数据库中运行JAVA可以让我们的开发过程更加轻松,下文对java连接数据库调用有返回值的oracle存储过程的方法作了详细的介绍,希望对您能有所帮助。

java连接oracle数据库,应该如何调用有返回值的oracle存储过程呢?下面就为您介绍java连接数据库调用有返回值的oracle存储过程的方法,供您参考。

有返回值的oracle存储过程(非列表)
存储过程为:

  1. CREATE OR REPLACE PROCEDURE TESTB(PARA1 IN VARCHAR2,PARA2 OUT VARCHAR2)   AS  
  2. BEGIN   
  3.    SELECT INTO PARA2 FROM TESTTB WHERE I_IDPARA1;   
  4. END TESTB; 

在java里调用时就用下面的代码:

  1. package com.hyq.src;  
  2.  
  3. public class TestProcedureTWO {  
  4.    public TestProcedureTWO() {  
  5.    }  
  6.    public static void main(String[] args ){  
  7.      String driver = "oracle.jdbc.driver.OracleDriver";  
  8.      String strUrl = "jdbc:oracle:thin:@127.0.0.1:1521:hyq";  
  9.      Statement stmt = null;  
  10.      ResultSet rs = null;  
  11.      Connection conn = null;  
  12.      try {  
  13.        Class.forName(driver);  
  14.        conn =   DriverManager.getConnection(strUrl, " hyq ", " hyq ");  
  15.        CallableStatement proc = null;  
  16.        proc = conn.prepareCall("{ call HYQ.TESTB(?,?) }");  
  17.        proc.setString(1, "100");  
  18.        proc.registerOutParameter(2, Types.VARCHAR);  
  19.        proc.execute();  
  20.        String testPrint = proc.getString(2);  
  21.        System.out.println("=testPrint=is="+testPrint);  
  22.      }  
  23.      catch (SQLException ex2) {  
  24.        ex2.printStackTrace();  
  25.      }  
  26.      catch (Exception ex2) {  
  27.        ex2.printStackTrace();  
  28.      }  
  29.      finally{  
  30.        try {  
  31.          if(rs != null){  
  32.            rs.close();  
  33.            if(stmt!=null){  
  34.              stmt.close();  
  35.            }  
  36.            if(conn!=null){  
  37.              conn.close();  
  38.            }  
  39.          }  
  40.        }  
  41.        catch (SQLException ex1) {  
  42.        }  
  43.      }  
  44.    }  
  45. }  
  46.  
  47. }  

注意,这里的proc.getString(2)中的数值2并非任意的,而是和存储过程中的out列对应的,如果out是在第一个位置,那就是proc.getString(1),如果是第三个位置,就是proc.getString(3),当然也可以同时有多个返回值,那就是再多加几个out参数了。

以上就是oracle连接数据库调用有返回值的oracle存储过程的方法介绍。

 

 

【编辑推荐】

oracle RMAN备份的优化

使用RMAN进行Oracle备份

Oracle EXP/IMP备份简介

Oracle数据库备份的重要性

Oracle控制文件的恢复

责任编辑:段燃 来源: 互联网
相关推荐

2010-10-26 14:19:04

oracle存储过程

2010-10-26 14:40:31

oracle存储过程

2010-03-30 13:19:57

Oracle存储

2011-07-19 17:33:53

存储过程javaibatis

2010-04-15 17:20:54

Oracle存储过程

2010-04-16 13:34:00

Oracle Java

2010-03-30 13:30:49

Oracle存储

2010-04-16 14:10:56

Oracle数据库

2009-07-17 15:34:37

Java Swing连接数据库

2010-04-16 13:53:23

Oracle数据库

2009-09-11 15:12:26

LINQ执行存储过程

2010-10-26 15:00:36

oracle远程连接数

2011-08-12 11:22:53

Oracle存储过程Java

2010-10-12 12:00:42

MySQL连接

2011-07-07 13:59:54

存储过程远程数据库Oracle数据库

2010-10-29 16:12:51

Oracle存储过程

2018-11-05 15:14:42

MySQL编程语言技术

2010-10-29 11:06:12

Oracle scot

2011-03-16 17:14:17

JavaBean数据库

2009-07-06 17:23:34

JDBC连接数据库
点赞
收藏

51CTO技术栈公众号