if exists(SELECT ProssID from Deleted where ProssID='01')
  ……

解决方案 »

  1.   

    不用游标的:
    CREATE TRIGGER [TR_PMS_IUD] ON [PMS]
    FOR INSERT, UPDATE, DELETE 
    AS
    SET NOCOUNT ON
    begin transaction t
      update CutQlyPlanDet set CutQlyQTY=CutQlyPlanDet.CutQlyQTY-a.PassQTY
      from Deleted a 
      where CutQlyPlanDet.ProduceNo=a.ProduceNo 
      and CutQlyPlanDet.CutQlyPlanNo=a.PlanNo and a.ProssID='01'  update PrintPlanDet set PrintQTY=PrintPlanDet.PrintQTY-a.PassQTY
      from Deleted a 
      where PrintPlanDet.ProduceNo=a.ProduceNo 
      and PrintPlanDet.PrintPlanNo=a.PlanNo and a.ProssID='02'  update CutQlyPlanDet set CutQlyQTY=CutQlyPlanDet.CutQlyQTY+a.PassQTY
      from inserted a 
      where CutQlyPlanDet.ProduceNo=a.ProduceNo 
      and CutQlyPlanDet.CutQlyPlanNo=a.PlanNo and a.ProssID='01'  update PrintPlanDet set PrintQTY=PrintPlanDet.PrintQTY+a.PassQTY
      from  Inserted a 
      where PrintPlanDet.ProduceNo=a.ProduceNo 
      and PrintPlanDet.PrintPlanNo=a.PlanNo and a.ProssID='02'
    commit transaction t