天天看点

DB2 存储过程返回结果集

存储过程返回结果集,但是并未明确定义out参数的情况下,要正确获取到结果集,则必须明确设置返回结果集个数: result set 结果集个数 如果没有声明返回结果集个数,那么存储过程中定义的游标是获取不到其值的 1:创建存储过程

create procedure proName(in tabName varchar(20))
	result set 1
	language sql
p1:begin
	declare v_code integer default -1;
	declare v_rows integer default -1;
	begin
		declare c1 cursor with return for values(v_code,v_rows);
		open c1;
	end;
end p1
           

2:使用jdbc链接数据库,通过java代码调用上述存储过程

String callPro="{call proName(?)}";
CallableStatement call=conn.prepareCall(callPro);
call.setString(1,"tabName");
boolean flag=call.execute();
ResultSet rst=call.getResultSet();
while(rst.next()){
	String str1=rst.getString(1);
	......
	}
system.out.println(str1)