存储过程仅在java中的while循环内执行一次

时间:2017-10-11 09:35:12

标签: java multithreading jdbc while-loop callable-statement

我使用下面的代码在while循环中执行一个存储过程,该循环有两个记录

 conn = this.pool.getConnection();//backgroundtask.getDBConnection(this.config).getConnection();
 conn.setAutoCommit(false);
 TimezoneUsers = conn.prepareStatement(getUserTimeZone);
 TimezoneRs = TimezoneUsers.executeQuery();
 while (TimezoneRs.next()) {
     int TimeZoneId = TimezoneRs.getInt("Id");
     int CurrentHour = TimezoneRs.getInt("UserHour");
     try (CallableStatement upperProc = conn.prepareCall("{call \"CreatePersonGameHistoryWithTimezone\"(?) }")) {
          upperProc.setInt(1, TimeZoneId);
          upperProc.executeQuery(); 
  }

在while循环之后,我能够打印TimeZoneId 248和419 但只有第一次调用存储的stocedure成功执行,而419的调用不成功

注意:这是在多线程环境中调用的

0 个答案:

没有答案