如果您修改了在 UPDATE 触发器的触发列列表中出现的列,则触发器保持不变。
当您修改表中的列,基于该表的触发器保持不变,但列修改可能会使触发器无效。
CREATE TABLE tab1 (i1 INT, i2 INT, i3 INT); CREATE TABLE tab2 (i4 INT, i5 INT); CREATE TRIGGER col1trig UPDATE OF i2 ON tab1 BEFORE(INSERT INTO tab2 VALUES(1,1)); ALTER TABLE tab2 MODIFY i4 CHAR;
在 ALTER TABLE 语句之后,列 i4 仅接受字符值。因为字符列仅接受包含在引号中的值,所以 col1trig 触发器的操作子句失效。
如果修改基础表使得触发器失效,则删除再重新创建触发器。