我正在学习Java,并且在SQL查询方面遇到大问题。我有应该更新(如果存在)或插入(如果不存在)的字段。

首先,我尝试使用IF NOT EXISTS,但是事实证明Oracle不支持该功能。
然后我尝试使用EXCEPTION WHEN NO_DATA_FOUND,但是它也失败了。
经过几个小时的搜索,我发现MERGE必须适用于我的示例,但是由于某些原因,我无法使其起作用。我以前从未使用过合并,所以也许我在查询中犯了错误,但我不认为这是问题所在。

因此,我有表commercial和其中的字段idArtidPlaquanID(唯一且自动递增)。从html表单中,我将前三个值发送到servlet,然后servlet应该做下一件事:


如果存在带有idArt=(formIdArt) AND idPla=(formIdPla)的行,则更新quan = quan +(formQuan),ELSE插入所有三个值。


这看起来很简单,但是我已经在此上浪费了太多时间,所以请有人可以帮助我吗?

最佳答案

第一,

尝试像这样更新您的表:

更新商业广告集quan = quan + formquan,其中idArt = formIdArt和idPla = formIdPla

如果此查询的执行返回的结果是受影响的行超过0,则不要插入所有三个值,否则将所有三个值插入表中

关于java - SQL通过servlet插入或更新,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22112647/

10-08 22:02