包含db2java存储过程的词条

博主:adminadmin 2022-12-21 16:54:07 59

今天给各位分享db2java存储过程的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

JAVA 调用DB2存储过程获取结果集

创建procedure跟rs有什么关系,你的调用proceduer只是因为你的过程是查询,所以用一个rs来把结果用一个结果集封装起来方便对查询出来的数据进行操作。

你的这句“如果在创建TJ_CX的时候不加RESULT SETS 1,rs为null;”是想表达个啥?

db2存储过程写好了放在哪里让JAVA调用

。。。当然是放在db2里 java也只是调用jdbc的一个函数,传递一个存储过程的名字给数据库 存储过程最终还是由数据库自己来执行的

在Java中调用db2存储过程,怎样给存储过程传

JDBC调用存储过程: CallableStatement

在Java里面调用存储过程,写法那是相当的固定:

Class.forName(....

Connection conn = DriverManager.getConnection(....

/**

*p是要调用的存储过程的名字,存储过程的4个参数,用4个?号占位符代替

*其余地方写法固定

*/

CallableStatement cstmt = conn.prepareCall("{call p(?,?,?,?)}");

/**

*告诉JDBC,这些个参数,哪些是输出参数,输出参数的类型用java.sql.Types来指定

*下面的意思是,第3个?和第4个?是输出参数,类型是INTEGER的

*Types后面具体写什么类型,得看你的存储过程参数怎么定义的

*/

cstmt.registerOutParameter(3, Types.INTEGER);

cstmt.registerOutParameter(4, Types.INTEGER);

/**

*在我这里第1个?和第2个?是输入参数,第3个是输出参数,第4个既输入又输出

*下面是设置他们的值,第一个设为3,第二个设为4,第4个设置为5

*没设第3个,因为它是输出参数

*/

cstmt.setInt(1, 3);

cstmt.setInt(2, 4);

cstmt.setInt(4, 5);

//执行

cstmt.execute();

//把第3个参数的值当成int类型拿出来

int three = cstmt.getInt(3);

System.out.println(three);

//把第4个参数的值当成int类型拿出来

int four = cstmt.getInt(4);

System.out.println(four);

//用完别忘给人家关了,后开的先关

cstmt.close();

conn.close();

JDBC调用存储过程,掌握这一个程序足够了.

以下是上面程序使用的存储过程的代码,我用的是Oracle数据库,不过不论是什么数据库,对于你的程序,JDBC这一端写法都是一样的.

create or replace procedure p

(v_a in number,v_b number,v_ret out number,v_temp in out number)

is

begin

if(v_a v_b) then

v_ret := v_a;

else

v_ret := v_b;

end if;

v_temp := v_temp + 1;

end;

java代码调用db2存储过程,传入单引号值

String s1= "aaa";

String s2= "bbb";

String sql="'insert into tab_name (col1,col2) values ('"+s1+"','"+s2+"')'";

System.out.println(sql);

输出结果为:'insert into tab_name (col1,col2) values ('aaa','bbb')' 是不是这样的?

关于db2java存储过程和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-21,除非注明,否则均为首码项目网原创文章,转载请注明出处。