DELPHI 保存按钮程序:
       try
        cds_SPOut_S.ApplyUpdates(0);
        cds_SPOut_S.Refresh;
      except
        cds_SPOut_S.CancelUpdates;
        raise;
      end;SQL 触发器语句:
CREATE TRIGGER [IN_SPOUT_S] ON dbo.SpOut_S
FOR INSERT, UPDATE
AS
BEGIN
    SET NOCOUNT ON
    INSERT INTO COST_BUYER (OUR_NO,BUYER_SORT,DES_DATE,CUSTOM_CODE,PRICE,MG_RATE,CARD_PRICE,Q_UNIT,JOB_PART,DES_PART,BRAND,SUB_BRAND)
SELECT  A.OUR_NO,ISNULL(B.BUYER_SORT,0)+1,A.INVO_DATE,A.CUSTOM_CODE,A.PRICE,A.MG_RATE,A.CARD_PRICE,A.Q_UNIT,A.JOB_PART,A.DES_PART,A.BRAND,A.SUB_BRAND
FROM
(SELECT  A.OUR_NO,INVO_DATE,B.CUSTOM_CODE,B.BRAND,B.SUB_BRAND,A.PRICE,A.MG_RATE,A.CARD_PRICE,A.Q_UNIT,A.JOB_PART,A.DES_PART
FROM INSERTED A LEFT JOIN SPOUT_M B ON A.INVO_NO=B.INVO_NO
WHERE  ISNULL(A.PRICE,0)<>0)A
LEFT JOIN (SELECT OUR_NO,MAX(BUYER_SORT)BUYER_SORT
FROM COST_BUYER
GROUP BY OUR_NO)B ON A.OUR_NO=B.OUR_NO
  SET NOCOUNT OFF
END当保存SPOUT_S 数据是执行触发器,把数据插入到COST_BUYER表中,这时就会出现上面那个错误。