Если одна из строк в вашем файле test.sql обнаружит проблему, код, который вы разместили, сгенерирует исключение и оставит базу данных в неизвестном состоянии.
Я бы лично анализировал каждую инструкцию SQL из файла и выполнял ее по одной инструкции за раз. Вокруг каждого выполнения я бы обернул обработчик исключений, который регистрирует исключение и строку, вызвавшую его. В зависимости от того, что именно вы пытаетесь сделать, вы можете продолжить выполнение операторов или прекратить выполнение там.
Следует отметить, что это действительно зависит от того, что находится в «test.sql». Если это простые однострочные команды, которые независимы друг от друга, вы сможете выполнять их по одной за раз, как я описал. Если в его строке команд, которые создают переменные, выполняют хранимые процедуры и т. Д., Это может быть неправильным подходом. В этом случае вы можете захотеть переместить больше логики в файл .sql, чтобы сделать то, что нужно сделать.