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

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

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

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

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

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

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

Oracle数据库

2010-03-30 13:30:49

Oracle存储

2010-04-16 13:53:23

Oracle数据库

2009-07-17 15:34:37

Java Swing连接数据库

2009-09-11 15:12:26

LINQ执行存储过程

2010-10-26 15:00:36

oracle远程连接数

2011-07-07 13:59:54

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

2010-10-29 16:12:51

Oracle存储过程

2011-08-12 11:22:53

Oracle存储过程Java

2010-10-29 11:06:12

Oracle scot

2010-10-12 12:00:42

MySQL连接

2018-11-05 15:14:42

MySQL编程语言技术

2009-07-06 17:23:34

JDBC连接数据库

2011-03-16 17:14:17

JavaBean数据库
点赞
收藏

51CTO技术栈公众号