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