在Oracle存储过程中有相关返回值的存储过程简介

数据库 Oracle
本文会涉及到如何用java来调用Oracle存储过程中有相关返回值的存储过程(非列表),的实际相关代码的介绍,希望会给你带来一些收获。

以下文章的主要内容时介绍如何用java来调用Oracle存储过程中有相关返回值的存储过程(非列表),以及java来调用Oracle存储过程中有相关返回值的存储的实际应用代码的介绍,望你会有所收获。

存储过程为:

CREATE OR REPLACE PROCEDURE TESTB(PARA1 IN VARCHAR2,PARA2 OUT VARCHAR2) AS
BEGIN
SELECT INTO PARA2 FROM TESTTB WHERE I_ID= PARA1;
END TESTB;

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

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

注意,这里的proc.getString(2)中的数值2并非任意的,而是和存储过程中的out列对应的,如果out是在***个位置,那就是proc.getString(1),如果是第三个位置,就是proc.getString(3),当然也可以同时有多个返回值,那就是再多加几个out参数了。以上就是对用java调用Oracle存储过程中有返回值的存储过程(非列表)相关的内容的介绍,望你会有所收获。

【编辑推荐】

  1. Oracle Multimedia在ORDDicom中列中存储DICOM详解
  2. 在Oracle模式中定义媒体对象有哪些
  3. 对Oracle Multimedia导出图像的操作步骤的描述
  4. Oracle ID 自增代码的详细介绍
  5. 检查Oracle DICOM 对象的典型示例


 

责任编辑:佚名 来源: IT168
相关推荐

2010-04-15 17:20:54

Oracle存储过程

2010-04-30 14:22:43

Oracle通过

2010-04-08 16:41:29

Oracle存储过程

2010-05-05 17:19:32

Oracle存储过程

2011-04-11 17:28:50

oracle存储select语句

2011-05-18 10:07:13

oracle存储

2010-10-26 14:27:30

oracle存储过程

2010-10-26 14:19:04

oracle存储过程

2010-04-16 11:39:56

Oracle存储过程

2010-04-15 16:54:31

Oracle存储过程

2011-07-19 17:33:53

存储过程javaibatis

2010-04-16 09:03:28

Oracle 存储过程

2010-04-07 13:12:25

Oracle存储过程

2010-04-16 10:11:20

Oracle存储过程

2009-09-09 10:54:52

Linq存储过程返回

2010-05-05 14:55:15

Oracle存储过程

2010-04-21 10:37:02

Oracle创建

2010-05-07 18:44:28

Oracle存储过程

2010-04-26 10:09:22

Oracle存储过程

2010-04-29 17:31:56

Oracle存储过程
点赞
收藏

51CTO技术栈公众号