H2和liquibase语法错误

时间:2017-09-08 14:45:14

标签: java oracle h2 liquibase

我是用于构建数据库的liigibquase。在战争启动时,liquibase从应用程序初始化Oracle数据库并使其成功。但在单元测试中使用了H2 db,这是一个问题。在谷歌找不到相似的smth。这是我的变化集:

<changeSet author="Andriyanchik" id="EBS-639">
    <sql endDelimiter="/">
            CREATE OR REPLACE TRIGGER TR_SET_TYPE_NUMBER
            BEFORE INSERT
            ON PROVIDER
            FOR EACH ROW
            DECLARE
                v_category_inc NUMBER;
            BEGIN
                SELECT MAX(TYPENUMBER) INTO v_category_inc FROM PROVIDER WHERE PRODUCTNAME = :NEW.PRODUCTNAME;
                IF v_category_inc is null THEN
                    :NEW.TYPENUMBER := 0;
                ELSE
                    :NEW.TYPENUMBER := v_category_inc + 1;
                END IF;
            END;
            /
        </sql>
</changeSet>

在H2,我收到错误:

Syntax error in SQL statement "CREATE OR REPLACE TRIGGER TR_SET_TYPE_NUMBER..."
expected "QUEUE, NOWAIT, AS, CALL"; SQL statement:

0 个答案:

没有答案