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