私は現在、HSQLデータベースを作成するためのSQLスクリプトをロードしようとしています。HSQLDB TRIGGER文のERROR SimpleJdbcTestUtils.executeSqlScriptを(使用)
CREATE TRIGGER t BEFORE UPDATE ON SUBJECTS
REFERENCING NEW AS newrow OLD AS oldrow
FOR EACH ROW
BEGIN ATOMIC
SET newrow.VERSION = oldrow.VERSION + 1;
END;
このコードを使用してテストを実行し、次のエラーが発生します:
Resource resource = new ClassPathResource("/create-table.sql");
SimpleJdbcTestUtils.executeSqlScript(template, resource, Boolean.FALSE);
スクリプトトリガの作成文が含まれています。 これは、次のコードを使用して行われ
Caused by: java.sql.SQLException: Unexpected end of command: REFERENCING in statement
[CREATE TRIGGER t BEFORE UPDATE ON SUBJECTS REFERENCING]
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.jdbcStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbc.jdbcStatement.executeUpdate(Unknown Source)
at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228)
at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228)
at org.springframework.jdbc.core.JdbcTemplate$1UpdateStatementCallback.doInStatement(JdbcTemplate.java:508)
at org.springframework.jdbc.core.JdbcTemplate$1UpdateStatementCallback.doInStatement(JdbcTemplate.java:1)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:395)
私は春の3.0.5とHSQLDBを使用しています(ドライバ、...)のバージョンは1.8.0.10です。
誰もこの問題を抱えていたことがありますか、これを解決する方法を知っていますか?
(私も、1行にすべてを置くことを試みた別のファイルにSQLを置き、セミコロンを削除し、...)
すべてのヘルプははるかに高く評価されます。あらかじめThanx!
ウェンディ。
はい、「新参照すると、」HSQL 1.8および「2.0の初期バージョンを」中は動作しません - あまりにもこれにつまずいは!注意! – alexandroid