是否可以使用JDBC接口对hsqldb执行多个sql语句?

时间:2013-03-23 15:16:56

标签: jdbc hsqldb

具体来说,我运行这些陈述:

    String script = String.format(
      "CREATE CACHED TABLE IF NOT EXISTS %s (id VARCHAR(36), value %s, PRIMARY KEY (id));", indexName, getIndexType());
    st.execute(script);
    script = String.format("CREATE INDEX idx_%s ON %s (value);", indexName, indexName);
    st.execute(script);

我想知道是否可以使用一个执行命令来执行此操作?我尝试的只是连接两个字符串并执行。但是hsqldb抱怨创建索引的表不存在。

1 个答案:

答案 0 :(得分:1)

HSQLDB的docs在表创建期间不提供任何指定表索引的方法,因此您必须对数据库进行2次单独调用。

另外,我建议使用PreparedStatement再次保护SQL注入攻击。占位符的使用消除了使用String.format的需要。