在DELETED 表里找
更新以前的数据全在DELETED表里
更新后的数据全在INSERTED表里

解决方案 »

  1.   

    Create trigger tr_test
    On table1
    For update
    As
    update table2 set 字段名=(select 字段名 from updated)
      

  2.   

    在DELETED 表里找
    更新以前的数据全在DELETED表里
    更新后的数据全在INSERTED表里
    -----------------------------
    create trigger update_tbl
    for update
    as 
    if update
    更新后的数据全在INSERTED表里那这里我应该怎么写。。
      

  3.   

    wym840713() 
    问题是我不知道哪几个字段被更新了。 。 。
      

  4.   

    假设表共有6个字段 A、B、C、D、E、F,如果你希望A、D、F被更新才触发触发器:
    IF UPDATE(A) OR UPDATE(D) OR UPDATE(F)
    BEGIN
       ...
    END就可以了。
      

  5.   

    你的表结构不太合理吧?太恐怖了,一般一个表不会超过30个字段吧?这样你也不用判断了,只要更新了任何一个字段,就将115个字段全部复制到目标表中去吧!因为要判断115次,效率可能还不如直接写入记录呢!如果你一次只更新了一个字段,就要判断115次,然后执行一次UPDATE;如果你一次更新了80个字段,就要执行115次判断,80次UPDATE,根本就不如不加任何判断,直接复制全部115个字段!
      

  6.   

    fcloudo(笨笨牛)
    是一个资料表。字段都是一些琐碎的记录。
    -------------------------------------
    直接复制全部115个字段!
    是不是说把inserted里面的记录复制到另一张表?
    ------------------------
    没有其他方法了吗?
      

  7.   

    是啊,就是INSERT INTO 目标表 SELECT * FROM 源表[如果目标表中没有记录],或 UPDATE 目标表 SET FIELD1 = ..., FIELD2 = ... WHERE ...,115个字段,写死你,嘿嘿。你的2个表结构一样啊,这样做最简单。
    请问是用户在前台直接修改源表吗?为什么要将同样的数据转移到同结构目标表?说说需求,看有没有其它办法。
      

  8.   

    不能在 'inserted' 表和 'deleted' 表中使用 text、ntext 或 image 列。
    这个该怎么办才好!!