HSQLDB在匹配时合并并失败

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HSQLDB在匹配时合并并失败相关的知识,希望对你有一定的参考价值。

我有以下表格:

create table WorkPendingSummary
(
    WorkPendingID int not null,
    WorkPendingDate date not null,
    Status varchar(20) not null,
    EndDate date null
)

create table WorkPendingSummaryStage
(
    WorkPendingID int not null,
    WorkPendingDate date not null,
    Status varchar(20) not null
)

然后我有以下合并声明:

MERGE INTO WorkPendingSummary w USING  WorkPendingSummaryStage
     AS vals(WorkPendingID, WorkPendingDate, Status) 
     ON w.WorkPendingID = vals.WorkPendingID
   WHEN MATCHED AND vals.status = 'CLOSED'  
         THEN UPDATE SET w.workpendingdate = vals.workpendingdate, w.status = vals.status, w.enddate = current_time

http://hsqldb.org/doc/guide/dataaccess-chapt.html#dac_merge_statement上的文档声明“WHEN MATCHED”语句可以有一个额外的“AND”子句,如上所述,但是失败的是:

unexpected token: AND required: THEN : line: 4 [SQL State=42581, DB Errorcode=-5581]

这个功能有用还是我错过了什么? 使用HSQLDB 2.3.1。

谢谢!

答案

该文档适用于2.3.3版和即将发布的2.3.4版。这些最新版本支持AND子句。

以上是关于HSQLDB在匹配时合并并失败的主要内容,如果未能解决你的问题,请参考以下文章

HSQLDB 合并到既不能插入也不能更新

HSQLDB QUERY 正确性

Hsqldb驱动程序随机为空

找到多个匹配 null.PUBLIC 的目录/模式 - Hsqldb / Liquibase

无法删除 HSQLDB 文件

Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理(代码片段