2
我想写一个触发器就像下面这个简单的例子:如何在informix中创建触发器?
create trigger adr_trg update of fname, lname on adr
REFERENCING OLD AS o NEW AS n
FOR EACH ROW
(
IF o.fname <> n.fname THEN
insert into adrlog (old_value, new_value)
values (o.fname, n.fname);
END IF;
IF o.lname <> n.lname THEN
insert into adrlog (old_value, new_value)
values (o.lname, n.lname);
END IF;
)
这种失败!
只有这样工作的:
create trigger adr_trg update of fname, lname on adr
REFERENCING OLD AS o NEW AS n
FOR EACH ROW
(
insert into adrlog (old_value, new_value)
values (o.fname, n.fname);
)
我在做什么错?
是啊,我想你是对的。可悲的是,Informix s * cks ... – PeterP
一个好的匠人从来不会责怪他的工具。在我看来,你所需要的条件逻辑最好放在一个过程中。它可能被证明具有足够的通用性,可用于多个表格,以OO方式使用。你的简单例子当然表明这一点。 – RET
[参考,这里是相关的手册页](http://publib.boulder.ibm.com/infocenter/idshelp/v111/index.jsp?topic=/com.ibm.sqls.doc/sqls521.htm) –