我的意思是我从报价#QT001复制SOOrder#SO001 . 无论如何,我看到SOOrder复制的报价参考,所以我想在报价中得到相同的结果 . 我插入新的SO然后更新到QT时创建了触发器 . 通过手动,逐个插入它很好 . 但是,当我保存已经从报价转换的SO时,它出现了消息错误:'错误#91:另一个进程已更新'SOOrder'记录 . 你的改变将会丢失 . '当然,我想我会错过任何步骤 .

CREATE TRIGGER tgg_SOOrder
ON dbo.SOOrder
FOR INSERT
AS

--Update QT record with SO record's order info
UPDATE  SOOrder
SET     OrigOrderType     =   'SO',       
        OrigOrderNbr      =   i.OrderNbr
FROM    SOOrder               so
JOIN    inserted              i
ON      so.OrderNbr       =   i.OrigOrderNbr
WHERE   so.OrderType      =   'QT'
AND     i.OrderType       =   'SO'
AND     so.CompanyID      =   2--Business logic constraint
AND     so.OrigOrderNbr   IS  NULL
AND     so.OrigOrderType  IS  NULL