在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 
--------------------- 

猜你喜欢

转载自www.cnblogs.com/jijm123/p/10917247.html