我正在学习Java并且SQL查询存在很大问题。我有一个字段,如果存在则应该更新,如果不存在则应该插入。
首先我尝试使用IF NOT EXISTS,但事实证明Oracle并不支持 然后我尝试了NO_DATA_FOUND时的EXCEPTION,但它也失败了 经过几个小时的搜索,我发现MERGE必须适用于我的例子,但由于某种原因,我无法使它工作。我以前从未使用过合并,所以也许我在查询中犯了错误,但我认为这不是问题所在。
所以,我在其中commercial
和字段idArt
,idPla
,quan
和ID
(唯一和自动增量)。从html表单我将前三个值发送到servlet然后servlet应该做下一件事:
idArt=(formIdArt) AND idPla=(formIdPla)
行,则更新quan = quan +(formQuan),ELSE插入所有三个值。 这看起来很简单,但我已经在这方面浪费了太多时间,所以可以请有人帮我这个吗?
答案 0 :(得分:1)
首先,
尝试像这样更新你的表:
更新商品集quan = quan + formquan其中idArt = formIdArt和idPla = formIdPla
如果执行此查询返回的结果超过0行受影响,则不要插入所有三个值,否则在表中插入所有三个值