在Sql Server触发器中判断操作是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  

你可能感兴趣的:(在Sql Server触发器中判断操作是Insert还是Update还是Delete)