如何在更新时增加列的值?

时间:2016-02-05 05:58:07

标签: oracle hibernate oracle-sqldeveloper hibernate-mapping

我有" REJECT_COUNT"和" VALUE"还有3个列。值是表中的主键。我想" rejected_count"在插入时为1。在更新同一行时,它应该自动递增1。如何在Hibernate freamework中执行此操作? 有没有更好的方法呢?

1 个答案:

答案 0 :(得分:0)

如果希望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;