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)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章