next-jdb c: выполнить несколько операторов? - PullRequest
0 голосов
/ 29 февраля 2020

Я пишу простой код переноса базы данных в clojure с использованием новой библиотеки seancorfield/next.jdbc.

Как выполнить несколько операторов SQL одновременно? Дело в том, что у меня есть файл SQL, содержащий код запроса для перехода с одной версии на другую. next.jdbc/execute! выполняет только одну инструкцию, как задумано.

1 Ответ

3 голосов
/ 29 февраля 2020

Возможность выполнения нескольких операторов в одной операции JDB C зависит от базы данных. Некоторые базы данных допускают несколько операторов в одной операции, разделенных точкой с запятой. Если драйвер JDB C поддерживает его, next.jdbc также будет поддерживать его.

Если ваш драйвер JDB C не поддерживает его, вам потребуется выполнить несколько вызовов execute!. Некоторые базы данных позволяют вам обернуть несколько операций DDL в транзакцию (некоторые из них игнорируют транзакцию и в любом случае фиксируют каждую операцию DDL отдельно), некоторые базы данных явно запрещают транзакцию вокруг операций DDL.

...