【问题标题】:How can i increment a value of a column on update?如何在更新时增加列的值?
【发布时间】:2016-05-15 00:32:17
【问题描述】:

我有“REJECT_COUNT”和“VALUE”以及另外 3 个列。Value 是表中的主键。我希望“rejected_count”在插入时为 1。它应该在更新同一行时自动增加 1。我如何在 Hibernate 框架中做到这一点? 有没有更好的办法?

【问题讨论】:

  • 比什么好?到目前为止,您尝试过什么?

标签: oracle hibernate oracle-sqldeveloper hibernate-mapping


【解决方案1】:

如果您希望 REJECT_COUNT 在插入时具有值 1,那么您可以使用 DEFAULT 子句创建表。要在每次更新时更新REJECT_COUNT,您可以在表格上创建一个UPDATE TRIGGER

CREATE TABLE DATA_TABLE(VALUE NUMBER,
                        REJECT_COUNT NUMBER DEFAULT 1,
                        A NUMBER,
                        B NUMBER,
                        C NUMBER,
                        CONSTRAINT DAT_PK PRIMARY KEY (VALUE));

CREATE OR REPLACE TRIGGER DATA_TABLE_TRIGGER BEFORE UPDATE ON DATA_TABLE
  FOR EACH ROW

DECLARE

BEGIN

  :NEW.REJECT_COUNT := :OLD.REJECT_COUNT + 1;

END;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-03
    • 2015-03-21
    • 2021-10-09
    • 1970-01-01
    • 2018-11-26
    • 1970-01-01
    相关资源
    最近更新 更多