【问题标题】:SQL insert or update through servlet通过 servlet 进行 SQL 插入或更新
【发布时间】:2014-04-02 11:41:48
【问题描述】:

我正在学习 Java,但对 SQL 查询有很大的问题。我有字段,如果存在则应该更新,如果不存在则插入。

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

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

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

这看起来很简单,但我已经在这方面浪费了太多时间,所以请有人帮我解决这个问题吗?

【问题讨论】:

  • 你用的是什么关系型数据库?

标签: java sql servlets merge


【解决方案1】:

首先,

尝试像这样更新您的表格:

更新商业集 quan = quan + formquan where idArt=formIdArt and idPla = formIdPla

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

【讨论】:

  • 天啊,你真是个天才。如此简单,却如此有效。非常感谢你。现在一切正常。 :)
  • @user2710931 感谢赞赏
猜你喜欢
  • 2012-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-17
  • 2017-12-29
  • 2014-05-03
  • 1970-01-01
相关资源
最近更新 更多