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 DROP i4;
ALTER TABLE 语句之后,tab2 仅有一列。col1trig 触发器已失效,因为当前用两列的值定义的操作子句不能发生。
如果您删除了在 UPDATE 触发器的触发列列表中出现的列,则数据库服务器从触发列列表删除该列。如果列是触发列列表的唯一成员,则数据库服务器从表删除该触发器。有关 UPDATE 触发器中触发列的更多信息,请参阅 CREATE TRIGGER 语句 。
如果更改底层的表使触发器失效,则删除然后重新创建触发器。