在Sql Server触发器中判断操作是Insert还是Update还是Delete

DECLARE

    @IsInsert bit,

    @IsUpdate bit,

    @IsDelete bit

IF EXISTS(SELECT 1 FROM inserted) AND NOT EXISTS(SELECT 1 FROM deleted)

    SET @IsInsert = 1

ELSE

    SET @IsInsert = 0

IF EXISTS(SELECT 1 FROM inserted) AND EXISTS(SELECT 1 FROM deleted)

    SET @IsUpdate = 1

ELSE

    SET @IsUpdate = 0

IF NOT EXISTS(SELECT 1 FROM inserted) AND EXISTS(SELECT 1 FROM deleted)

    SET @IsDelete = 1

ELSE

    SET @IsDelete = 0 

create   trigger   Update_Del   on   Table  

  for   update,delete  

  as  

  if   not   exists(select   1   from   inserted)  

  begin   /*inserted表无记录,是删除*/  

  end  

  else    

  begin   /*是更新*/   end  

  go 
--------------------- 

 

posted on 2019-05-24 11:50  癫狂编程  阅读(1295)  评论(0编辑  收藏  举报

导航

好的代码像粥一样,都是用时间熬出来的