SQL Server触发器判断当前操作类型(insert/update/delete)示例

SQL Server触发器要判断当前操作类型,可根据inserted和deleted两张表是否有数据进行判断:

·只有inserted表有数据时,当前操作为insert;
·inserted和deleted两张表都有数据时,当前操作为update;
·只有deleted表有数据时,当前操作为delete。

SQL Server触发器判断当前操作类型(insert/update/delete)示例

create trigger updateRowVersion on PPM_JobBill
after insert,update,delete
as
begin
    declare @inserted int, @deleted int
    select @inserted=COUNT(*) from inserted
    select @deleted=COUNT(*) from deleted
    if @inserted>0 and @deleted=0
    begin
        --insert
    end
    else if @inserted>0 and @deleted>0
    begin
        --update
    end
    else if @inserted=0 and @deleted>0
    begin
        --delete
    end
end
go


评论: 0 | 引用: 0 | 查看次数: 4965
发表评论
登录后再发表评论!