В настоящее время я пытаюсь загрузить сценарий sql для создания базы данных HSQL.
Это делается с помощью следующего кода:
Resource resource = new ClassPathResource("/create-table.sql");
SimpleJdbcTestUtils.executeSqlScript(template, resource, Boolean.FALSE);
Скрипт содержит оператор создания триггера:
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;
При запуске тестов с использованием этого кода возникает следующая ошибка:
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)
Я использую Spring 3.0.5 и HSQLDB (драйвер, ...) версия 1.8.0.10.
Кто-нибудь когда-нибудь имел эту проблему или знает, как ее решить?
(Я также пытался поместить все в одну строку, поместил sql в отдельный файл, удалил точки с запятой, ...)
Любая помощь будет высоко ценится. Спасибо заранее!
Венди.