我正在使用新的seancorfield/next.jdbc
库在clojure中编写一个简单的数据库迁移代码。
我如何一次执行多个SQL语句?用例是我有一个SQL文件,其中包含用于从一个版本迁移到下一个版本的查询代码。 next.jdbc/execute!
仅按设计执行一条语句。
是否可以在一个JDBC操作中执行多个语句取决于数据库。某些数据库允许在单个操作中使用分号分隔的多个语句。如果JDBC驱动程序支持它,则next.jdbc
也将支持它。
如果您的JDBC驱动程序不支持它,则需要进行多个execute!
调用。一些数据库允许您将多个DDL操作包装在一个事务中(其中一些忽略该事务并始终分别提交每个DDL操作),一些数据库明确禁止围绕DDL操作的事务。