首先,触发器支不支持,自己表中的某些字段变 来更新这个表的其它字段。下面这个例子如何写我有一个表A 字段 a1,a2,a3,a4,a5
当这个表A的a1,a2,a3,a4字段值修改了, 我需要用a5字段来记录时间。
这个触发器怎么写? 不知道能不能写。

解决方案 »

  1.   

    if not exists(select *from deleted)--如果是新增if(select count(*) from deleted)>0 
       and (select count(*) from inserted)>0--如果是更新你可以这样判断是新增或者更新,然后再定义一个变量,用来得到触发的时间,再更新到原表里面
      

  2.   

    create trigger my_trig on A for insert ,update 
    as
    begin
      update A set a5 = getdate() from A t ,inserted i
      where t.a1 = i.a1 and t.a2 = t.a2 and t.a3 = i.a3 and t.a4 = i.a4
    end
    go
      

  3.   

    可以用trigger,但就你这个功能类似last_modified_by_date,建议从Application里面Update的时候直接update这个字段,不要用Trigger.