`
tristan_wang
  • 浏览: 166220 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAVA调用DB2存储过程

    博客分类:
  • J2EE
阅读更多
搜索java 调用db2(版本为8.2)存储过程 没几个文章能看的,所以决定写点,给以后的新手用,希望我的文章对他们有用和他们能找到我的文章,阿门


1.       JAVA 调用db2存储过程最简单的例子:

存储过程创建代码:

<o:p></o:p>

sql 代码      SET SCHEMA IES      ;   
  
Create procedure ies.test()   
  
LANGUAGE SQL   
  
Update t_ryxx set xm =’xy’ where ryxxid=’xm’    java 代码conn = DbMaster.getConn();      
System.out.println("begin………");      
proc = conn.prepareCall("{call test()}");      
proc.execute();   

<o:p></o:p>

2. Java调用db2带输入参数存储过程的例子:<o:p></o:p>

Db2创建存储过程的代码:<o:p></o:p>

sql 代码Drop procedure ies.test();   
SET SCHEMA IES      ;   
Create procedure ies.test(in i_ryxxid varchar(50))   
LANGUAGE SQL   
Update t_ryxx set xm =’xy’ where ryxxid=i_ryxxid   
  

java 代码

conn = DbMaster.getConn();   
System.out.println("begin");   
proc = conn.prepareCall("{call test(?)}");   
proc.setString(1,"RY0003");   
proc.execute();   
System.out.println("end:");   


3.有输入输出参数的代码:

创建存储过程的代码:

sql 代码SET SCHEMA IES      ;   
CREATE PROCEDURE IES.test (IN in_ryxxid varchar(50),out out_xm varchar(50))   
   LANGUAGE SQL   
  
select xm into out_xm from ies.t_ryxx where ryxxid=in_ryxxid;   


java 代码proc = conn.prepareCall("{ call test(?,?)}");   
proc.setString(1, "011900380103");   
proc.registerOutParameter(2, Types.VARCHAR);   
proc.execute();   
String xm = proc.getString(2);   
System.out.println("end:"+xm);  


4.带有游标的存储过程(不知道这里的游标什么时候close的。刚开始学,不懂 菜鸟真郁闷)

创建存储过程的代码:(这个存储过程的具体看上面一篇文章:DB2 存储过程开发最佳实践(转载)的最佳实践 3:正确设定游标的返回类型。http://acme1921209.iteye.com/blog/97829)

sql 代码SET SCHEMA IES      ;   
CREATE PROCEDURE IES.test (IN in_state varchar(50))   
result set 1   
language sql   
P1:BEGIN  
DECLARE CUR cursor with return for select rybh,xm from ies.t_ryxx where ryzt=in_state with ur;   
  
OPEN CUR;   
  
  
END P1;     


java 代码proc = conn.prepareCall("{ call test(?)}");   
proc.setString(1, "停用");   
proc.execute();   
rst = proc.getResultSet();   
while(rst.next()){   
     System.err.println(rst.getString(1)+"     "+rst.getString(2));   
     }  



====返回多个结果集的处理方法:

db2 8.2 存储过程创建代码:

sql 代码create procedure getpeople()   
dynamic result sets 2   
READS SQL DATA   
LANGUAGE SQL   
BEGIN  
     DECLARE rs1 CURSOR WITH RETURN TO CLIENT FOR  
             SELECT RYBH,XM FROM IES.T_RYXX WHERE RYZT='停用' with ur;   
    DECLARE rs2 CURSOR WITH RETURN TO CALLER FOR   
            SELECT RYBH ,XM FROM IES.T_RYXX WHERE RYZT='正常' with ur;           
    OPEN rs1;   
    OPEN rs2;   
END;               


java 代码proc = conn.prepareCall("{ call getpeople()}");   
proc.execute();   
rst = proc.getResultSet();   
int i = 2 ,j = 0;   
while(rst.next()&&j//j的作用:记录太多了,只想打印几个测试下   
      System.out.println(rst.getString(1)+"     "+rst.getString(2));   
       j++;   
}   
System.err.println("---------------------------------------------");   
if (proc.getMoreResults()){  //getMoreResults()具体看api文档   
     j = 0;   
    while(rst.next()&&j//j的作用:记录太多了,只想打印几个测试下   
     System.out.println(rst.getString(1)+"     "+rst.getString(2));   
     j++;   
         }   
     }   
j = 0;  
分享到:
评论

相关推荐

    java 调用db2存储过程

    在 DB2 中,创建存储过程需要使用 CREATE PROCEDURE 语句。例如,创建一个无参存储过程可以使用以下语句: ```sql CREATE PROCEDURE "PCCCMALL"."testOne" () SPECIFIC "SQL110512004935601" LANGUAGE SQL NOT ...

    java调用db2存储过程例子(新手用,熟悉的就不用看了)

    本篇文章将详细讲解如何使用Java来调用DB2存储过程,这对于新手来说是一个很好的起点。 首先,我们需要在Java项目中引入DB2的JDBC驱动。DB2提供了适用于不同操作系统的JDBC驱动,如db2jcc4.jar,确保将其添加到项目...

    DB2Java存储过程.pdf

    - **2.2.2 Java 在 DB2 中的实现**:具体讨论如何在 DB2 中使用 Java 创建和调用存储过程。 通过以上内容可以看出,《DB2 Java 存储过程》这本书全面地覆盖了 Java 与 DB2 结合的各个方面,包括 Java 在不同平台上...

    DB2存储过程语法大全

    为了在DB2中创建和使用SQL存储过程,需要在服务器上安装应用开发客户端和DB2支持的C/C++编译器,并正确配置相关环境变量,如`DB2_SQLROUTINE_COMPILER_PATH`和`DB2_SQLROUTINE_COMPILE_COMMAND`。这些配置可能因操作...

    DB2 SQL存储过程基础

    DB2 SQL存储过程基础 DB2 存储过程是指在 DB2 服务器端编写、执行的程序单元,可以实现业务逻辑、数据处理和事务控制等功能。存储过程是一种特殊的数据库对象,能够接受输入参数、执行复杂的业务逻辑、返回结果集等...

    DB2存储过程开发与优化

    1. **存储过程的创建**:创建存储过程涉及到定义输入和输出参数,以及编写SQL语句和流程控制结构。例如,你可以使用`CREATE PROCEDURE`语句来创建一个新的存储过程。 2. **调用存储过程**:应用程序可以通过执行`...

    DB2 sql 存储过程基础.doc

    DB2 SQL 存储过程基础是指在 DB2 数据库管理系统中使用 SQL 语言来创建和管理存储过程的技术。存储过程是一种特殊的数据库对象,允许开发者在服务器端编写和执行复杂的业务逻辑。 routine 概念 在 DB2 中,...

    存储过程db2存储过程

    5. **绑定**:使用DB2绑定工具 (`BIND` 命令) 创建数据库包或将预编译信息绑定到数据库。 #### 3.4.1 预编译 - **目的**:将源代码中的SQL语句转换为DB2运行时API调用,并生成程序包或捆绑文件。 - **连接要求**:...

    JDBC调DB2存储过程

    通过以上步骤,我们不仅了解了如何使用JDBC连接DB2数据库,还学习了如何通过JDBC调用DB2中的存储过程,并处理其返回的结果集。这种技术在实际开发中非常实用,特别是在需要执行复杂操作或重复使用的逻辑时。希望本文...

    DB2.SQL.PL.Essential.Guide(DB2 存储过程_English)

    2. **创建存储过程**:如何定义参数,指定输入、输出和输入/输出参数,以及无参数的存储过程。了解存储过程的返回值机制及其在不同情况下的使用。 3. **调用存储过程**:在应用程序中如何调用存储过程,如通过SQL...

    Java 调用存储过程

    本文将深入探讨如何使用Java通过JDBC(Java Database Connectivity)来调用存储过程。 首先,理解存储过程的基本概念至关重要。存储过程由一系列SQL语句组成,可以包含条件判断、循环等控制流结构,并且可以有输入...

    Java调用存储过程.doc

    Java调用存储过程是数据库操作中的常见需求,特别是在需要高效执行多条SQL语句或封装复杂业务逻辑时。存储过程是预编译的数据库代码片段,可在数据库服务器上执行,减少了网络通信次数,提升了系统性能。Java通过...

    实战 Java 存储过程的编写及在 DB2 上的部署.docx

    1. **使用DB2控制中心或命令行工具**:通过图形界面或SQL命令,可以将编译好的Java类加载到DB2的Java存储区,然后创建存储过程的SQL定义。 2. **利用DB2的API和JDBC**:通过编写Java代码,使用DB2的JDBC驱动直接在...

    JAVA调用存储过程详解[定义].pdf

    Java调用存储过程是软件开发中常见的数据库操作技术,特别是在处理复杂业务逻辑和优化性能时。存储过程是预先编译并存储在数据库系统中的程序,可以在数据库服务器端直接执行,减少了网络通信的延迟,提高了效率。本...

    java连接DB2驱动

    - 获取到连接后,可以使用`Statement`、`PreparedStatement`或`CallableStatement`对象来执行SQL查询、更新或存储过程。例如: ```java Statement stmt = conn.createStatement(); ResultSet rs = stmt....

    db2jcc_license_cu/db2java/db2jcc

    在Java环境中,为了与DB2进行交互,开发人员通常会使用JDBC(Java Database Connectivity)驱动,而db2jcc就是IBM为DB2提供的JDBC驱动。 描述中提到了三个关键的jar文件:"db2jcc_license_cu.jar", "db2java.jar", ...

    db2存储过程

    使用DB2存储过程的优点包括: - 提高性能:由于SQL语句预先编译,执行时减少了解析和编译的时间。 - 安全性:可以通过存储过程控制对数据的访问,限制用户直接操作数据。 - 代码重用:存储过程可以被多个应用程序...

Global site tag (gtag.js) - Google Analytics