CREATE  TRIGGER ck_crd1_UTrig ON dbo.ck_crd1 FOR UPDATE ASif exists(Select * from Inserted a inner Join deleted b
            on a.dh=b.dh and (a.Locked<>b.Locked or a.modTimes<>b.modTimes))
   begin
    Update A Set  lastupdat=getdate()  From ck_crd1 A Inner Join inserted B On A.dh=B.dh
   end

解决方案 »

  1.   

    不会,因为你的触发器针对的表是:ck_crd1,而不是A
      

  2.   

    A不是对应ck_crd1吗?不好意思,我不太懂
      

  3.   

    Sorry!看错了。A是ck_crd1的别名。
      

  4.   

    --楼主的意思:如果更新了Locked、modTimes字段,就更新最后更新时间字段。
    --建议改成create  trigger ck_crd1_UTrig ON dbo.ck_crd1 
    for update asif update(Locked) or update(modTimes)
    begin
    Update A Set lastupdat=getdate()  
    From ck_crd1 A 
    Inner Join inserted B On A.dh=B.dh
    end
    go
    --因为触发器中更新的是lastupdat字段,处理没有问题。