Create Trigger yourTriggerName On A
For Update,Insert
As
   Update A set a.收款日期 = a.单据日期 + b.信用天数
       From A Join B on A.客户编码 = b.客户编码
--       Join Inserted C on a.主键 = c.主键   -- 只修改要改的。

解决方案 »

  1.   

    CREATE TRIGGER Trg_Name ON A表
    FOR INSERT, UPDATE 
       Update A表 Set 收款日期=DATEADD(dd,b.信用天数,单据日期) From 表A a,表B b
        where a.客户编码=b.客户编码
    GO
      

  2.   

    如果是在数据插入时操作:
    CREATE trigger trtest on  A表
    for insert
    as
    --set nocount on
    update A表 set 收款日期=convert(varchar(10),t1.单据日期,120)+cast(t2.信用天数 as varchar) from inserted t1,B表 t2
    where A表.客户编码=t1.客户编码 and A表.客户编码=t2.客户编码
      

  3.   

    Create Trigger TriggerName On A
    For Update,Insert
    As
       Update A set a.收款日期 = DATEADD(dd,b.信用天数,单据日期)
           From A Join B on A.客户编码 = b.客户编码
             Join Inserted C on a.主键 = c.主键   
      

  4.   

    又有问题:  1、这样做不会产生死锁吗? Update里触发Update?
      2、触发器里的Update的范围是当前记录还是所有记录?