我正在学习Java,并且在SQL查询方面遇到大问题。我有应该更新(如果存在)或插入(如果不存在)的字段。
首先,我尝试使用IF NOT EXISTS,但是事实证明Oracle不支持该功能。
然后我尝试使用EXCEPTION WHEN NO_DATA_FOUND,但是它也失败了。
经过几个小时的搜索,我发现MERGE必须适用于我的示例,但是由于某些原因,我无法使其起作用。我以前从未使用过合并,所以也许我在查询中犯了错误,但我不认为这是问题所在。
因此,我有表commercial
和其中的字段idArt
,idPla
,quan
和ID
(唯一且自动递增)。从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/