【问题标题】:Conditional update trigger条件更新触发器
【发布时间】:2016-08-17 09:19:51
【问题描述】:

我有以下 SQL 触发器:

CREATE OR REPLACE TRIGGER datachange 
AFTER UPDATE OF Stand ON lenz.DATENSTAENDE
REFERENCING OLD AS olddata NEW AS newdata
FOR EACH ROW 
BEGIN
IF (newdata.QUELLE LIKE 'LUCKY%') THEN
INSERT into lenz.inserttest(timefield, textfield, acttime) values(newdata.stand, newdata.quelle, CURRENT TIMESTAMP);
UPDATE lenz.updatetest set timefield = newdata.stand, acttime = CURRENT TIMESTAMP where textfield = newdata.quelle;     
END IF;
END@

问题是插入和更新应该只在被插入的新数据以 LUCKY 开头的部分字符串时触发。 出于某种原因,虽然 newdata 的内容是未知的。

例子:

'LUCKY CHIP YES', '2013-02-25', 'ALL LUCKY' -> should trigger
'ALL ALL BEST', '2014-06-28', 'WHAT IS THIS' -> should not trigger

我怎样才能让它工作?

感谢您的帮助。

流浪汉

【问题讨论】:

    标签: sql if-statement triggers db2


    【解决方案1】:

    我只是在 BEGIN 之后忘记了 ATOMIC。 现在可以了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-15
      • 2021-02-26
      • 2012-02-13
      • 2012-10-06
      • 1970-01-01
      • 2017-03-13
      相关资源
      最近更新 更多