Sql server sql server“;“产出”;用于单元测试的命令与hsqldb不兼容?

Sql server sql server“;“产出”;用于单元测试的命令与hsqldb不兼容?,sql-server,Sql Server,在我的单元测试中,我使用hsqldb测试我的sql server查询。我的问题是: INSERT INTO smr_event_master (event_id, smr_user_id, type, detail, status, update_timestamp) OUTPUT inserted.event_id VALUES (NEXT VALUE FOR smr_event_master_id_seq, :smr_user_id, :type, :detail, :status, :up

在我的单元测试中,我使用hsqldb测试我的sql server查询。我的问题是:

INSERT INTO smr_event_master (event_id, smr_user_id, type, detail, status, update_timestamp)
OUTPUT inserted.event_id
VALUES (NEXT VALUE FOR smr_event_master_id_seq, :smr_user_id, :type, :detail, :status, :update_timestamp)
OUTPUT
命令用于在插入后获取
事件id

以下是我的单元测试的hsqldb设置:

SET DATABASE SQL SYNTAX MSS TRUE;

CREATE SEQUENCE SMR_EVENT_MASTER_ID_SEQ START WITH 1 INCREMENT by 1;

DROP TABLE SMR_EVENT_MASTER IF EXISTS;
CREATE TABLE SMR_EVENT_MASTER
(
EVENT_ID NUMERIC(38,0) PRIMARY KEY,
SMR_USER_ID NUMERIC(38,0) NOT NULL,
TYPE VARCHAR(20) NOT NULL,
DETAIL VARCHAR(4000),
STATUS VARCHAR(20),
TRANSACTION_REFERENCE VARCHAR(1024),
UPDATE_TIMESTAMP TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
当我在本地环境(使用实际的sqlserver)中使用jdbc模板运行查询时,它可以工作。它生成新行并获得正确的事件id。但是,如果我在使用hsqldb的单元测试中运行它,它会引发异常:
org.hsqldb.hsqldb异常:意外标记:输出:行:3


在中,它指出在使用hsqldb作为sql server时存在不兼容,但没有说明什么不兼容,因此我不确定。。我在这里做错了什么吗?

唯一能够运行T-SQL语句而没有任何问题的DBMS产品是SQL Server。试图在HSQLDB(或任何其他DBMS)上运行它们是徒劳的尝试。当在不同的平台上运行时,这些测试也没有意义。