【发布时间】:2014-04-02 11:41:48
【问题描述】:
我正在学习 Java,但对 SQL 查询有很大的问题。我有字段,如果存在则应该更新,如果不存在则插入。
首先我尝试使用 IF NOT EXISTS,但事实证明 Oracle 不支持。
然后我尝试使用 EXCEPTION WHEN NO_DATA_FOUND,但它也失败了。
经过几个小时的搜索,我发现 MERGE 必须适用于我的示例,但由于某种原因,我无法使其正常工作。我以前从未使用过merge,所以也许我在查询中犯了错误,但我认为这不是问题所在。
所以,我有表 commercial 和其中的字段 idArt、idPla、quan 和 ID(唯一且自动递增)。从 html 表单中,我将前三个值发送到 servlet,然后 servlet 应该做接下来的事情:
- 如果有
idArt=(formIdArt) AND idPla=(formIdPla)的行则更新quan=quan+(formQuan),否则插入所有三个值。
这看起来很简单,但我已经在这方面浪费了太多时间,所以请有人帮我解决这个问题吗?
【问题讨论】:
-
你用的是什么关系型数据库?