0
私はテストコンテキストでHSQLDB 2.4.0でpostgresql dialectを使用しています。私もtrigger procedureHSQLDB 2.4.0でトリガプロシージャがサポートされています
を使用してい 私はHSQLDBに私の最初のSQLスクリプトをロードする場合:
SET DATABASE SQL SYNTAX PGS TRUE;
CREATE FUNCTION trigg_proc() RETURNS trigger
LANGUAGE plpgsql
AS $$
BEGIN
INSERT INTO test(desc)
VALUES('hello world');
RETURN NEW;
END;
$$;
CREATE TABLE test(
desc CHARACTER VARYING(60) NOT NULL
);
私は
...
Caused by: java.sql.SQLSyntaxErrorException: unexpected token: TRIGGER
at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
at org.hsqldb.jdbc.JDBCStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbc.JDBCStatement.execute(Unknown Source)
at org.springframework.jdbc.datasource.init.ScriptUtils.executeSqlScript(ScriptUtils.java:473)
... 58 more
Caused by: org.hsqldb.HsqlException: unexpected token: TRIGGER
at org.hsqldb.error.Error.parseError(Unknown Source)
at org.hsqldb.ParserBase.unexpectedToken(Unknown Source)
at org.hsqldb.ParserBase.checkIsNonCoreReservedIdentifier(Unknown Source)
at org.hsqldb.ParserDQL.checkIsSchemaObjectName(Unknown Source)
at org.hsqldb.ParserDQL.readTypeDefinition(Unknown Source)
at org.hsqldb.ParserRoutine.readProcedureOrFunctionDeclaration(Unknown Source)
at org.hsqldb.ParserRoutine.readCreateProcedureOrFunction(Unknown Source)
at org.hsqldb.ParserRoutine.compileCreateProcedureOrFunction(Unknown Source)
at org.hsqldb.ParserDDL.compileCreate(Unknown Source)
at org.hsqldb.ParserCommand.compilePart(Unknown Source)
at org.hsqldb.ParserCommand.compileStatements(Unknown Source)
at org.hsqldb.Session.executeDirectStatement(Unknown Source)
at org.hsqldb.Session.execute(Unknown Source)
... 61 more
HSQLDB
からこのエラーを取得し、私は私が「かどうかを知りたいです構成に関する何かが見つからないか、HSQLDBがトリガプロシージャをサポートしていない場合です。
トリガーは、HSQLDBではまったく異なる構文を持っています(そして** PL/pgSQLをサポートしていません**)。詳細については、マニュアルを参照してください:http://hsqldb.org/doc/2.0/guide/triggers-chapt.html 'SYNTAX PGS'は、いくつかのシンタックス要素の非常に"非常に "薄い互換性のレイヤーです。 HSQLDBがPostgreのように魔法のように動作することはありません –