karsase

在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 

 

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2021-10-24
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-03
猜你喜欢
  • 2021-10-15
  • 2021-07-19
  • 2021-12-17
相关资源
相似解决方案