存儲過程返回結果集,但是並未明確定義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)