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

在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 @ 2014-08-16 17:18  Karsase  阅读(1031)  评论(0)    收藏  举报