gpt4 book ai didi

jdbc - 插入时更新 hsqldb

转载 作者:行者123 更新时间:2023-12-04 16:47:30 26 4
gpt4 key购买 nike

有谁知道通过调用 INSERT 来使 HSQLDB 更新列的解决方案。我希望我的代码能够插入,如果已经有数据,则更新该数据。我相信我知道 MySQl 有“ON DUPLICATE KEY UPDATE”。我似乎找不到任何关于此的最新文档。

最佳答案

好的样本有时会更好 the formal documentation on MERGE statement :)

样本 1

对于具有 tho 列( MY_TABLECOL_A )的表( COL_B ),其中第一列是主键:

MERGE INTO MY_TABLE AS t USING (VALUES(?,?)) AS vals(a,b) 
ON t.COL_A=vals.a
WHEN MATCHED THEN UPDATE SET t.COL_B=vals.b
WHEN NOT MATCHED THEN INSERT VALUES vals.a, vals.b

样本 2

让我们向表中添加另一列( COL_C ):
MERGE INTO MY_TABLE AS t USING (VALUES(?,?,?)) AS vals(a,b,c) 
ON t.COL_A=vals.a
WHEN MATCHED THEN UPDATE SET t.COL_B=vals.b, t.COL_C=vals.c
WHEN NOT MATCHED THEN INSERT VALUES vals.a, vals.b, vals.c

样本 3

现在让我们将主键更改为由前两列( COL_ACOL_B )组成:
MERGE INTO MY_TABLE AS t USING (VALUES(?,?,?)) AS vals(a,b,c) 
ON t.COL_A=vals.a AND t.COL_B=vals.b
WHEN MATCHED THEN UPDATE SET t.COL_C=vals.c
WHEN NOT MATCHED THEN INSERT VALUES vals.a, vals.b, vals.c

享受!

关于jdbc - 插入时更新 hsqldb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14555735/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com