有没有人知道通过调用INSERT来创建HSQLDB更新列的解决方案。我希望我的代码能够插入,如果已有数据,则更新该数据。我知道MySQl,我相信,它已经'重复关键更新'。我似乎无法找到任何最近的文档。
答案 0 :(得分:4)
HSQLDB为此提供了MERGE语句。
http://hsqldb.org/doc/2.0/guide/dataaccess-chapt.html#dac_merge_statement
或者,您可以编写一个简短的存储过程来插入,然后捕获任何约束违例异常并执行更新。
http://hsqldb.org/doc/2.0/guide/sqlroutines-chapt.html#src_psm_handlers
更新:从版本2.3.4开始,HSQLDB还支持ON DUPLICATE KEY的MySQL语法