从 H2 数据库中的另一个 SQL 脚本加载 SQL 脚本

Loading a SQL script from within another SQL script in H2 database

是否可以在 H2 数据库的另一个 sql 文件中包含 sql 文件。

我有 5 sql 个文件

1) create-tables.sql
2) insert-data.sql
   1) data-1.sql
   2) data-2.sql
   3) data-3.sql

在这个例子中我想包括 data-1.sql, data-2.sql, data-3.sqlinsert-data.sql

testProperty.connection.driverClass=org.h2.Driver testProperty.connection.url=jdbc:h2:file:./target/db/testdb;AUTO_SERVER=TRUE;LOCK_TIMEOUT=10000;INIT=runscript from 'src/test/resources/sql/create-tables.sql'\;runscript from 'src/test/resources/sql/insert-data.sql' testProperty.connection.username=sa testProperty.connection.password=

我在 insert-data.sql 中尝试了以下命令,但没有用

\source data-1.sql
@data-1.sql
\include data-1.sql

H2 没有指令 SQL 脚本。但是您可以从使用此命令启动的脚本中 运行 相同的 RUNSCRIPT 命令:

src/test/resources/sql/insert-data.sql:

RUNSCRIPT FROM 'src/test/resources/sql/data-1.sql';
-- commands

src/test/resources/sql/data-1.sql:

-- commands

请注意,相对路径将被视为相对于进程的当前工作目录,而不是相对于此命令的脚本。