HSQL:如果不存在,则创建索引

我正在使用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语句,据我所知。

    因此,除了删除/创建索引之外的解决方案将不胜感激。

    谢谢


    最新版本的HSQLDB支持:

    CREATE INDEX IF NOT EXISTS myIndex ...
    DROP INDEX IF EXISTS myIndex
    
    链接地址: http://www.djcxy.com/p/15625.html

    上一篇: HSQL: Creating index if not existing

    下一篇: Cryptographic NFC/RFID Tag?