7

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 ステートメントが含まれていない可能性があるため、役に立たないようです。

したがって、インデックスを削除/作成する以外の解決策をいただければ幸いです。

ありがとうございました

4

1 に答える 1