搜索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;
分享到:
相关推荐
在 DB2 中,创建存储过程需要使用 CREATE PROCEDURE 语句。例如,创建一个无参存储过程可以使用以下语句: ```sql CREATE PROCEDURE "PCCCMALL"."testOne" () SPECIFIC "SQL110512004935601" LANGUAGE SQL NOT ...
本篇文章将详细讲解如何使用Java来调用DB2存储过程,这对于新手来说是一个很好的起点。 首先,我们需要在Java项目中引入DB2的JDBC驱动。DB2提供了适用于不同操作系统的JDBC驱动,如db2jcc4.jar,确保将其添加到项目...
- **2.2.2 Java 在 DB2 中的实现**:具体讨论如何在 DB2 中使用 Java 创建和调用存储过程。 通过以上内容可以看出,《DB2 Java 存储过程》这本书全面地覆盖了 Java 与 DB2 结合的各个方面,包括 Java 在不同平台上...
为了在DB2中创建和使用SQL存储过程,需要在服务器上安装应用开发客户端和DB2支持的C/C++编译器,并正确配置相关环境变量,如`DB2_SQLROUTINE_COMPILER_PATH`和`DB2_SQLROUTINE_COMPILE_COMMAND`。这些配置可能因操作...
DB2 SQL存储过程基础 DB2 存储过程是指在 DB2 服务器端编写、执行的程序单元,可以实现业务逻辑、数据处理和事务控制等功能。存储过程是一种特殊的数据库对象,能够接受输入参数、执行复杂的业务逻辑、返回结果集等...
1. **存储过程的创建**:创建存储过程涉及到定义输入和输出参数,以及编写SQL语句和流程控制结构。例如,你可以使用`CREATE PROCEDURE`语句来创建一个新的存储过程。 2. **调用存储过程**:应用程序可以通过执行`...
DB2 SQL 存储过程基础是指在 DB2 数据库管理系统中使用 SQL 语言来创建和管理存储过程的技术。存储过程是一种特殊的数据库对象,允许开发者在服务器端编写和执行复杂的业务逻辑。 routine 概念 在 DB2 中,...
5. **绑定**:使用DB2绑定工具 (`BIND` 命令) 创建数据库包或将预编译信息绑定到数据库。 #### 3.4.1 预编译 - **目的**:将源代码中的SQL语句转换为DB2运行时API调用,并生成程序包或捆绑文件。 - **连接要求**:...
通过以上步骤,我们不仅了解了如何使用JDBC连接DB2数据库,还学习了如何通过JDBC调用DB2中的存储过程,并处理其返回的结果集。这种技术在实际开发中非常实用,特别是在需要执行复杂操作或重复使用的逻辑时。希望本文...
2. **创建存储过程**:如何定义参数,指定输入、输出和输入/输出参数,以及无参数的存储过程。了解存储过程的返回值机制及其在不同情况下的使用。 3. **调用存储过程**:在应用程序中如何调用存储过程,如通过SQL...
本文将深入探讨如何使用Java通过JDBC(Java Database Connectivity)来调用存储过程。 首先,理解存储过程的基本概念至关重要。存储过程由一系列SQL语句组成,可以包含条件判断、循环等控制流结构,并且可以有输入...
Java调用存储过程是数据库操作中的常见需求,特别是在需要高效执行多条SQL语句或封装复杂业务逻辑时。存储过程是预编译的数据库代码片段,可在数据库服务器上执行,减少了网络通信次数,提升了系统性能。Java通过...
1. **使用DB2控制中心或命令行工具**:通过图形界面或SQL命令,可以将编译好的Java类加载到DB2的Java存储区,然后创建存储过程的SQL定义。 2. **利用DB2的API和JDBC**:通过编写Java代码,使用DB2的JDBC驱动直接在...
Java调用存储过程是软件开发中常见的数据库操作技术,特别是在处理复杂业务逻辑和优化性能时。存储过程是预先编译并存储在数据库系统中的程序,可以在数据库服务器端直接执行,减少了网络通信的延迟,提高了效率。本...
- 获取到连接后,可以使用`Statement`、`PreparedStatement`或`CallableStatement`对象来执行SQL查询、更新或存储过程。例如: ```java Statement stmt = conn.createStatement(); ResultSet rs = stmt....
在Java环境中,为了与DB2进行交互,开发人员通常会使用JDBC(Java Database Connectivity)驱动,而db2jcc就是IBM为DB2提供的JDBC驱动。 描述中提到了三个关键的jar文件:"db2jcc_license_cu.jar", "db2java.jar", ...
使用DB2存储过程的优点包括: - 提高性能:由于SQL语句预先编译,执行时减少了解析和编译的时间。 - 安全性:可以通过存储过程控制对数据的访问,限制用户直接操作数据。 - 代码重用:存储过程可以被多个应用程序...