update xujl set stockinno=select [no] from stock where stockinno is nall;表A    表B 分别有no 和 stockinno 两列, 要写触发器当A表更新时,自动将A表更新后NO表复制给B表对应记录的stockinno列中。

解决方案 »

  1.   

    create trigger tr_a 
    on A for update
    as
      update B set stockinno=i.stockinno
      from inserted i where B.[no]=i.[no]
    go
      

  2.   

    两个表的关联字段是A表(xujl)的no =B表的tablenoA表的stockinno与B表的inno关联。当A表的stockinno与更新的时候B表的inno字段也会一起更新。
      

  3.   

    create trigger tr_a 
    on A for update
    as
      update B set inno=i.stockinno
      from inserted i,deleted d where B.[inno]=d.[stockinno]
    go
      

  4.   

    请高手指占一下inserted i,deleted d是什么意思呀/。
      

  5.   

    在使用触发器过程中,sql server使用了两张特殊的临时表,分别是inserted表和deleted表。用户可以用这两张表检测修改操作所产生的效果。
             deleted表的原理:
          1:当用户执行delete命令时,会把删除的数据暂时存放在该表中。
                2:当用户执行update命令时,会把旧数据放入该表,再把新数据存入更新的表中。
             inserted表的原理:
                1:当用户执行update时,新的数据行放到该表中。
                2:当用户执行insert时,新的数据行放到该表中。
         这两个表是随着触发器的执行而产生,这两个表是随着触发器的执行结束而译放就是将两个表取了别名