create trigger trigger_table
    on table    
    for update
    as 
      begin
          update table set time = getdate() where no in ( select no from  inserted)
           
      end
    return

解决方案 »

  1.   

    兄弟,求了你,就建个ID,
    全CSDN的兄弟都会感谢你的,
    全国人民都会记住你的.
      

  2.   

    不好意思,NO字段前面是有一个ID字段的(当时只想快点贴上来给大家看),还有,其实这些记录是不一样的,我也图快点把其复制成一模一样而已。
    反正最终要实现的目的是:更改最后一条记录的TYPE值,其最后一条记录的TIME值就取系统当前时间就可以了。请帮忙!
      

  3.   

    --环境
    Create table A(id int ,No varchar(10),Name varchar(10),type varchar(20),
    Time datetime)
    insert into A select 1,'00000008','张三','解挂','2006-03-30 16:25:32.030'
    union all select 2,'00000008','张三','解挂','2006-03-30 16:25:32.030'
    union all select 3,'00000008','张三','解挂','2006-03-30 16:25:32.030'
    union all select 4,'00000008','张三','解挂','2006-03-30 16:25:32.030'--触发器
    CREATE TRIGGER T_A ON A
    FOR UPDATE
    AS
    BEGIN
    UPDATE A SET Time=GETDATE()
    WHERE ID=(SELECT I.ID FROM INSERTED I INNER JOIN DELETED D
    ON I.ID=D.ID
     )
    END
    --更新
    UPDATE A SET type='挂失'WHERE 
    ID=4--结果
    /*
    1 00000008 张三 解挂 2006-03-30 16:25:32.030
    2 00000008 张三 解挂 2006-03-30 16:25:32.030
    3 00000008 张三 解挂 2006-03-30 16:25:32.030
    4 00000008 张三 挂失 2006-03-31 11:00:25.873
    */
    --删除环境
    Drop table A
    Drop trigger T_A
      

  4.   

    zip321002 太感谢你了,谢谢!马上送分!