总共有两个数据表 <Table1> <Table2>Table1
订单编号 已付
1001         0
1001         0
1002        0
1003        0
1001           0Table2
订单编号 Paid
1001         0
1002       0
1003       0希望当<Table2>的 Paid 修改时 <Table1> 的相关数据行会更新
例如 : 修改Table2
订单编号 Paid
1001       1
1002        0
1003        0Table1 会变成
订单编号 已付
1001        1
1001        1
1002       0
1003        0
1001      1应该怎样写
Create Trigger TR_UpdatePaid
 On Table2 
 for Update
 if Update(Paid)
 begin Update a
Set 已付=Paid
from Table1 a, inserted i where a.订单编号=i.订单编号 end这样写会出错 应该怎样改呢

解决方案 »

  1.   

    Create Trigger TR_UpdatePaid
    On Table2
    for Update 
    AS
    BEGIN
    UPDATE TABLE1 SET [已付]=1 WHERE [订单编号] IN (
    SELECT 订单编号 FROM INSERTED WHERE [Paid]=1
    )
    END
      

  2.   

    create trig my_trig on t2 for update
    as
    begin
      update t1 set 已付 = (select paid from inserted where 订单编号 = t1.订单编号) from t1
    end
      

  3.   

    create Trigger TR_UpdatePaid 
    on Table2 for update
    as
    begin
      update Table1 set Table1.'已付' =Table2.Paid where Table1.订单编号=Table2.订单编号
    end