在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存储过程中有返回值的存储过程(非列表)相关的内容的介绍,望你会有所收获。

名称栏目:在Oracle存储过程中有相关返回值的存储过程简介
分享地址:http://www.shufengxianlan.com/qtweb/news38/284538.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联