0

我的基于 HSQLDB (OpenOffice 3.3.0) 的数据库有问题。我正在尝试创建 SQL 命令,该命令将从源表中选择具有指定列的行并将其复制到目标表中,请记住,如果目标表中不存在记录,则应创建它,如果确实存在,则应获取更新。请注意,我使用的是相当旧的 HSQLDB 引擎,它不支持 MERGE 命令。

谢谢。

4

1 回答 1

0

使用旧的 HSQLDB 1.8,您需要执行 INSERT 和 UPDATE。

INSERT INTO dest (SELECT * FROM SOURCE WHERE <your condition> EXCEPT (SELECT * FROM source JOIN dest ON source.id = dest.id WHERE <your condition>));

UPDATE dest SET (col1, col2) = (SELECT coln, colm FROM source WHERE source.id = dest.id) WHERE <your condition>
于 2015-12-03T20:53:15.160 回答