在sqlserver中sql触发器,分为三种insert,update,delete,而每种触发器又可以有两种状态,after和instead of。

触发器创建语法如下:

CREATE [OR REPLACE] TRIGGER 触发器名称
    [FOR | AFTER | INSTEAD OF] [INSERT | UPDATE | UPDATE OF 列名称 [,列名称,...] | DELETE] ON 表名称
    [FOR EACH ROW]
    [WHEN 触发条件]
    AS
    [DECLARE]
        [程序声明部分 ;]
    BEGIN
        程序代码部分 ;
    END [触发器名称] ;

其中:用for控制时,它的作用默认是和after一样的,用instead of是,执行SQL语句之前触发触发器。

使用instead of 触发器,它只是触发一个操作,数据并不会真正被操作,你需要在触发器内手工提交数据,如果在instead of触发器你没有手工提交数据,则该条数据的操作会无效。即,instead of触发器,是对当前操作的校验,如果校验不通过,即舍弃,校验通过,手工提交。

 

版权声明:本文为lcawen原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/lcawen/articles/8484709.html