我们如何从 MySQL 存储过程(例程)返回一个游标。或者另一种将值列表从 MySQL Proc 返回给 Java 程序的方法。我们正在尝试在 Oracle 中实现与 Sys Ref Cursor 类似的功能,看起来在 MySQL 中也有类似的东西。但是想知道这是一个非常常见的用例,在 mysql 中获取 proc 返回的值列表的方法应该是什么。
版本 - MySQL-server-5.5.15
小智 5
MySQL:
create procedure get_data(in param1 date)
begin
select * from mytable where mydate=param1;
end;
Run Code Online (Sandbox Code Playgroud)
爪哇:
CallableStatement cstmt = MyConnection.prepareCall("{call mydb.get_data(?)}");
cstmt.setString(1, '2012-01-01');
ResultSet rs = cstmt.executeQuery();
int nF = rs.getMetaData().getColumnCount();
rs.last();
String[][] out = new String[rs.getRow()][nF];
for (int i=0; i<nF; i++) {
rs.beforeFirst();
int n=0;
while (rs.next()) {
out[n][i]=rs.getString(i+1);
n++;
}
}
cstmt.close();
return out;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11099 次 |
| 最近记录: |