diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/init/ScriptUtils.java b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/init/ScriptUtils.java index 1a082c6dd676..da9e05563c17 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/init/ScriptUtils.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/init/ScriptUtils.java @@ -258,8 +258,12 @@ public static void executeSqlScript(Connection connection, EncodedResource resou for (String statement : statements) { stmtNumber++; try { - stmt.execute(statement); + boolean results = stmt.execute(statement); int rowsAffected = stmt.getUpdateCount(); + while(results || rowsAffected != -1) { + rowsAffected = stmt.getUpdateCount(); + results = stmt.getMoreResults(Statement.CLOSE_CURRENT_RESULT); + } if (logger.isDebugEnabled()) { logger.debug(rowsAffected + " returned as update count for SQL: " + statement); SQLWarning warningToLog = stmt.getWarnings();