JDBC调用存储过程可以不完全等调用结束再获取结果集吗?

partoneplay 发布于 10/26 09:04
阅读 61
收藏 0

存储过程内有多个SELECT 语句,使用MySQL Workbench 客户端调用存储过程,每个SELECT执行结束会立刻打印出结果;但通过Java代码普通JDBC方式调用,必须等到存储过程完全执行结束,才能逐个获取数据集。

示例代码:

CREATE PROCEDURE `Test`()
BEGIN

  SELECT 1, NOW();
  SELECT sleep(10);
  SELECT 2, now();

END
boolean hasResultSet = statement.execute(sql);
if (hasResultSet) {
    boolean hasMoreResultSet = true;
    while (hasMoreResultSet) {
        ResultSet resultSet = statement.getResultSet();
        ... 
        ...
        hasMoreResultSet = statement.getMoreResults();
    }
}

 

加载中
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部