我正在使用 Spring 通过 Spring 初始化 HSQL 数据库 2.2.9
<jdbc:initialize-database enabled="true">
<jdbc:script execution="INIT" location="classpath:./create-tables.sql"/>
</jdbc:initialize-database>
在create-tables.sql
我使用
CREATE TABLE IF NOT EXISTS MyTable(...);
该表也有一个索引。我正在寻找一种比总是删除和创建索引更好的方法。
我试过了:
CREATE INDEX IF NOT EXISTS myIndex ...;
- 不工作
如果找到索引,我可以创建一个indexExisting()
检查系统表并返回 count(*) > 0 的函数,但是如果我写
IF indexExisting() = 0 THEN ...
直接进入.sql
文件,它说
java.sql.SQLSyntaxErrorException: unexcepted token: IF
存储过程似乎也无济于事,因为据我所知,它们可能不包含 DROP 语句。
因此,除了删除/创建索引之外的解决方案将不胜感激。
谢谢