【问题标题】:Adding (count) sequence value to column value via trigger in Oracle SQL通过Oracle SQL中的触发器将(计数)序列值添加到列值
【发布时间】:2020-09-02 06:45:15
【问题描述】:

我想编写一个触发器,它能够将序列值添加到列值。

示例:序列值为5,表中的列值为45。插入新行后的结果应该是50。

问题是我不知道如何从列中获取值,然后将其添加到触发器代码中的序列值中。

使用我的触发器后,我可以插入一个新行,该行将创建值 = 5 的列。

CREATE SEQUENCE Adding_Seq
  START WITH 5
  INCREMENT BY 1;

CREATE OR REPLACE TRIGGER Adding_Trigger
  BEFORE INSERT ON Table
  FOR EACH ROW

BEGIN
  SELECT Adding_Seq.nextval
    INTO :new.Value
    FROM dual;
END;

我尝试在 SELECT 部分或稍后在 INTO 中添加一些“+”,并带有表中列的名称,但出现错误。

是否可以在触发器中执行此类操作?

感谢您的帮助!

【问题讨论】:

    标签: sql oracle triggers sequence


    【解决方案1】:

    这真的很奇怪。但是你可以只使用加法:

    BEGIN
        SELECT :new.Value + Adding_Seq.nextval INTO :new.Value
        FROM dual;
    END;
    

    【讨论】:

      猜你喜欢
      • 2018-07-05
      • 1970-01-01
      • 2019-03-15
      • 1970-01-01
      • 2021-11-24
      • 1970-01-01
      • 1970-01-01
      • 2011-10-07
      • 1970-01-01
      相关资源
      最近更新 更多