怎么样使用触发器插入多条记录, 我下面这条语句当inserted只有一条记录时有写入, 有多条记录就不写入了另外那句update又应该怎么处理呢, 
INSERT INTO ListSaleDft(..
) SELECT ...
FROM ((inserted i inner join MasterBillDft m on i.OrderNo=m.BillSN) left join Product p on i.SellCode=p.u_code) left join CommonInfo d on p.ProdDW = d.s_ID CROSS JOIN BuildID b WHERE b.Class_Name = 'LISTSALE';update MasterBillDft set SumNumber=SumNumber+i.dealcount,SumMoney=SumMoney+(i.DealPrice-i.DiscountFee)*i.Dealcount from Inserted i where BillSN=i.OrderNo; 

解决方案 »

  1.   

    也许你JOIN完了就一条记录呢。
      

  2.   

    关键是有多条记录时, 它连一条都不插入, 而如果就只有一条记录, 那是有插入的.我用查询分析器测试 insert into 表(...) select .... union all select ...就没有成功
      

  3.   

    把你的update语句更改为如下:update MasterBillDft 
    set SumNumber=SumNumber+i.dealcount,SumMoney=SumMoney+(i.DealPrice-i.DiscountFee)*i.Dealcount 
    from MasterBillDft , Inserted i where MasterBillDft.BillSN=i.OrderNo;