现有一批不定数量记录要更新,现想在更新时用时间戳判断该记录是否已被更新过,
如何写这个批量更新的sql语句?

解决方案 »

  1.   

    用触发器控制用1个字段记录更新时间modifyDate
    create trigger tr_t on t
    after update
    as
    update t
    set modifyDate=getdate()
    from 
    t join inserted i on t.ID=i.ID
      

  2.   

    一个表只能有一个 timestamp 列。每次插入或更新包含 timestamp 列的行时,timestamp 列中的值均会更新。这一属性使 timestamp 列不适合作为键使用,尤其是不能作为主键使用。对行的任何更新都会更改 timestamp 值,从而更改键值从这里可以看到,表中如果有一个timestamp列,只要你更新过记录,被更新过的记录都会自动更新这个timestamp值所以不需要做额外处理
      

  3.   

    用ESEQUAL函数比较之前和之后的值