条件更新触发器

时间:2016-08-17 09:19:51

标签: sql if-statement triggers db2

我有以下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时触发。 出于某种原因,虽然新数据内容未知。

示例:

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

我怎样才能让它发挥作用?

感谢您的帮助。

TheVagabond

1 个答案:

答案 0 :(得分:0)

我刚忘了BEGIN之后的ATOMIC。 现在它有效。