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