这个要自己看书和帮助!
insert,delete,update三個触發器一般就是指after触發器。after触發器是在SQL语句执行后触发,instead of 触發器代替SQL语句执行。

解决方案 »

  1.   

    拷贝一段帮助给你参考:AFTER指定触发器只有在触发 SQL 语句中指定的所有操作都已成功执行后才激发。所有的引用级联操作和约束检查也必须成功完成后,才能执行此触发器。如果仅指定 FOR 关键字,则 AFTER 是默认设置。不能在视图上定义 AFTER 触发器。INSTEAD OF指定执行触发器而不是执行触发 SQL 语句,从而替代触发语句的操作。在表或视图上,每个 INSERT、UPDATE 或 DELETE 语句最多可以定义一个 INSTEAD OF 触发器。然而,可以在每个具有 INSTEAD OF 触发器的视图上定义视图。INSTEAD OF 触发器不能在 WITH CHECK OPTION 的可更新视图上定义。如果向指定了 WITH CHECK OPTION 选项的可更新视图添加 INSTEAD OF 触发器,SQL Server 将产生一个错误。用户必须用 ALTER VIEW 删除该选项后才能定义 INSTEAD OF 触发器。
      

  2.   

    我對表a新增了insert 触發器aa,和in stead of insert 触發器bb,當我執行
    了insert操作后,執行了触發器bb而沒有執行触發器aa.這樣做的意義何在(只執行bb而不執行aa)?什么情況下需要用到這种情況?
      

  3.   

    但用instead of insert触发器时它不执行insert操作,而执行instead of 的另外的操作,它可以实现报警,另外你可以在instead of 中写较复杂的语句,还可以包括你原来的insert操作.
      

  4.   

    可指定以下两个选项之一来控制触发器何时激发: AFTER 触发器在触发操作(INSERT、UPDATE 或 DELETE)后和处理完任何约束后激发。可通过指定 AFTER 或 FOR 关键字来请求 AFTER 触发器。因为 FOR 关键字与 AFTER 的效果相同,所以具有 FOR 关键字的触发器也归类为 AFTER 触发器。
    INSTEAD OF 触发器代替触发动作进行激发,并在处理约束之前激发。 
    对于每个触发操作(UPDATE、DELETE 和 INSERT),每个表或视图只能有一个 INSTEAD OF 触发器。而一个表对于每个触发操作可以有多个 AFTER 触发器。示例
    A. 用 INSTEAD OF 触发器代替标准触发动作
    CREATE TRIGGER TableAInsertTrig ON TableA
    INSTEAD OF INSERT
    AS ...B. 用 AFTER 触发器增加标准触发动作
    CREATE TRIGGER TableBDeleteTrig ON TableB
    AFTER DELETE
    AS ...C. 用 FOR 触发器增加标准触发动作
    -- This statement uses the FOR keyword to generate an AFTER trigger.
    CREATE TRIGGER TableCUpdateTrig ON TableC
    FOR UPDATE
    AS ...