DAO 객체를 테스트하기 위해 메모리 내장 데이터베이스를 작성하려고합니다.H2 데이터베이스가 CREATE SEQUENCE에서 예기치 않은 JdbcSQLException을 발생시킵니다.
Caused by: org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement " CREATE SEQUENCE CE0AOFQ AS[*] BIGINT START WITH 1 INCREMENT BY 1"; SQL statement:
CREATE SEQUENCE CE0AOFQ AS BIGINT START WITH 1 INCREMENT BY 1 [42000-196]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
at org.h2.message.DbException.get(DbException.java:179)
at org.h2.message.DbException.get(DbException.java:155)
at org.h2.message.DbException.getSyntaxError(DbException.java:191)
at org.h2.command.Parser.getSyntaxError(Parser.java:534)
at org.h2.command.Parser.prepareCommand(Parser.java:261)
at org.h2.engine.Session.prepareLocal(Session.java:578)
at org.h2.engine.Session.prepareCommand(Session.java:519)
at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1204)
at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:132)
at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:121)
at org.springframework.jdbc.datasource.init.ResourceDatabasePopulator.executeSqlScript(ResourceDatabasePopulator.java:169)
init.sql
라는 파일에이 명령을 실행하려고 :
CREATE SEQUENCE CE0AOFQ AS BIGINT START WITH 1 INCREMENT BY 1;
,이 쿼리가 올 것 같다 나는 다음과 같은 스택 추적을 얻을.
이것이 작동하지 않는 이유는 무엇입니까?
해당 링크는 SQL Server 용이지만 ... h2를 사용하고 있습니다. 대신 [이] (http://www.h2database.com/html/grammar.html#create_sequence) 설명서를보십시오 –
나는 그들이 거의 같은 구문을 사용할 것이라고 추측 했습니까? 테이블 생성 및 삽입은 완벽하게 작동합니다. –
항상 약간의 차이가 있습니다. SQL 서버 문서가 아닌 h2 문서를 사용하는 것이 가장 좋습니다 –