HSQLDB (OpenOffice 3.3.0) に基づくデータベースに問題があります。ソーステーブルから指定された列を持つ行を選択し、それを宛先テーブルにコピーするSQLコマンドを作成しようとしていますが、レコードが宛先テーブルに存在しない場合は作成され、存在する場合は取得される必要があることに注意してください。更新しました。MERGE コマンドをサポートしていないかなり古い HSQLDB エンジンを使用していることに注意してください。
ありがとう。
HSQLDB (OpenOffice 3.3.0) に基づくデータベースに問題があります。ソーステーブルから指定された列を持つ行を選択し、それを宛先テーブルにコピーするSQLコマンドを作成しようとしていますが、レコードが宛先テーブルに存在しない場合は作成され、存在する場合は取得される必要があることに注意してください。更新しました。MERGE コマンドをサポートしていないかなり古い HSQLDB エンジンを使用していることに注意してください。
ありがとう。
古い 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>