不要用#tdeleted,直接用deleted就可以了

解决方案 »

  1.   

    CREATE TRIGGER [trg_we_up] ON [学生管理_学生登记] 
    FOR  UPDATE
    as
    UPDATE S_USERS
                 SET code=a.id, OWNNAME=a.姓名, GROUPS=a.班级编号, roles=a.角色,PASSWORD=a.密码,USERNAME=a.姓名,joindate=a.录入时间
                 FROM deleted a
                 where  S_USERS.code = a.id
      

  2.   

    sdhdy兄:
    it's just the same as before
    your code script can't achieve the result
    仍然需要二次更新
      

  3.   

    http://support.microsoft.com/default.aspx?scid=kb;en-us;Q315967参考一下
    我是第一次做 trigger 
    我发现 insert 和 delete操作都可以 
     update 来更新就不行
      

  4.   

    CREATE TRIGGER [trg_we_up] ON [学生管理_学生登记] 
    FOR  UPDATE
    AS
    UPDATE S_USERS  SET code=id, OWNNAME=b.姓名, GROUPS=b.班级编号, roles=b.角色,[PASSWORD]=b.密码,USERNAME=b.姓名,joindate=b.录入时间   FROM S_USERS INNER JOIN deleted b ON S_USERS.code = b.id
      

  5.   

    CREATE TRIGGER [trg_we_up] ON [学生管理_学生登记] 
    FOR  UPDATE
    AS
    UPDATE S_USERS  SET code=id, OWNNAME=b.姓名, GROUPS=b.班级编号, roles=b.角色,[PASSWORD]=b.密码,USERNAME=b.姓名,joindate=b.录入时间   FROM S_USERS INNER JOIN deleted b ON S_USERS.code = b.id
      

  6.   

    大力兄:
    看看你得trigger得结果第一次修改表 [学生管理_学生登记]
    100074             雀儿1111---》修改为 雀儿
    但结果s_users中
    100074           雀儿1111---》 雀儿1111第二次修改表 [学生管理_学生登记]
    100074             雀儿---》修改为 雀儿2222
    但结果s_users中
    100074           雀儿1111---》 雀儿第一次触发不生效 第二次触发会将缓存在 deleted virtual table 中的内容 传出到 s_users我的平台 sql 2000 server + sp3