首页 > 解决方案 > 我们可以在触发器中同时使用而不是和之后吗?

问题描述

我想定义instead offorinsertupdate操作,但afterdelete操作。可能吗?或者,我是否需要为此编写额外的触发器?例如,不能删除任何行。

CREATE TRIGGER test_trigger ON my_table
instead of INSERT,UPDATE for DELETE
AS
BEGIN

.......
END 

标签: sql-servertriggers

解决方案


看来您需要 2 个触发器。每个表的每个 DML 操作类型只能创建1 个INSTEAD OF触发器,尽管可以组合 DML 操作类型,如在本例中,即 INSERT 和 UPDATE。

CREATE TRIGGER test_trigger_instead_of_ins_upd ON my_table
instead of INSERT,UPDATE
AS
BEGIN

.......
END 
---------------------------------------------------------
CREATE TRIGGER test_trigger_after_del ON my_table
after DELETE
AS
BEGIN

.......
END 

推荐阅读