SqlServer 触发器: 修改字段时,将旧字段保存到另一个表

Create  TRIGGER [dbo].[tr_TableA_FieldA] 
ON [dbo].[TableA] 
FOR UPDATE 
AS 
begin
    if update(FieldA) 
    begin
        insert into ChangeLog(EF_Type,EF_Context,ef_pguid)
        select 1, FieldA, AGuid
        -- inserted 表示新值
        -- deleted 表示旧值
        from deleted
        -- 当旧值不为空
        WHERE len(FieldA)>0
    end
end

当 TableA 的 FieldA 字段改变时,将其旧值插入到 ChangeLog 中。

相关推荐