[英]DB2 trigger after update error
This is my first time using a trigger on my website using php. 这是我第一次使用php在我的网站上使用触发器。 What I'm trying to achieve is when the condition and location field (located in inventory table) is updated, the trigger will insert a row to LOG table.
我要达到的目的是,当条件和位置字段(位于清单表中)更新时,触发器将在LOG表中插入一行。
Here is the error shown when I chenged the condition and location field : 这是我选择条件和位置字段时显示的错误:
SQL0723N An error occurred in a triggered SQL statement in trigger "DB2ADMIN.CONDITI".
Information returned for the error includes SQLCODE "-433",
SQLSTATE "22001" and message tokens "Condition changed from bad ". SQLSTATE=09000 SQLCODE=-723
And here is my trigger code, I created the trigger using the data studio, and it succeeded : 这是我的触发器代码,我使用Data Studio创建了触发器,它成功完成了:
I'VE EDITED MY TRIGGER CODE AND LOG TABLE STRUCTURE, BUT STILL GENERATE THE SAME ERROR 我已经编辑了触发代码和日志表结构,但仍然会产生相同的错误
CREATE TRIGGER DB2ADMIN.CONDITION_LOG AFTER UPDATE OF CONDITION, LOCATION ON DB2ADMIN.INVENTORY
REFERENCING OLD AS o NEW AS n
FOR EACH ROW MODE DB2SQL NOT SECURED
INSERT INTO LOG VALUES ('',CURRENT TIMESTAMP, o.CONDITION, n.CONDITION, o.LOCATION, n.LOCATION);
Heres a sample UPDATE TRIGGER 这是一个示例UPDATE TRIGGER
this may not answer you question but i think it can help you to construct a better Trigger statement: 这可能不会回答您的问题,但我认为它可以帮助您构建更好的Trigger语句:
DELIMITER $$
CREATE
TRIGGER `blog_after_update` AFTER UPDATE
ON `blog`
FOR EACH ROW BEGIN
IF NEW.deleted THEN
SET @changetype = 'DELETE';
ELSE
SET @changetype = 'EDIT';
END IF;
INSERT INTO audit (blog_id, changetype) VALUES (NEW.id, @changetype);
END$$
DELIMITER ;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.