ALTER TRIGGER [CheckOut_Update] ON [dbo].[dspRunD] FOR UPDATE AS SET NOCOUNT ON DECLARE @Drv_CD CHAR(4), @UserOut VARCHAR(25), @UserIn VARCHAR(25), @Invoice_No CHAR(8) DECLARE @COut BIT, @CIn BIT, @FKey INT, @PKey INT DECLARE @Route_CD CHAR(2), @Run_Time DATETIME, @Trans_Note VARCHAR(100) SELECT @Invoice_No = Invoice_No, @COut = Checkout, @CIn = Checkin, @FKey = RunH_FK, @PKey = PKey FROM Inserted print 'Trigger - ' + @Invoice_No SELECT @Drv_CD = Drv_CD, @UserOut = CheckOut_User, @UserIn = CheckIn_User, @Route_CD = Route_CD, @Run_Time = Run_Time FROM dspRunH WHERE PKey = @FKey SET @Trans_Note = 'Run ' + @Route_CD + ' ' + CAST(@Run_Time AS CHAR(20)) --Checkout transaction IF UPDATE(Checkout) IF @COut = 1 EXEC usp_dsp_Invoice_Trans @Invoice_No, 'CHECKOUT', @Drv_CD, @Trans_Note, @UserOut ELSE EXEC usp_dsp_Invoice_Trans @Invoice_No, 'CHECKOUT_UNDO', @Drv_CD, @Trans_Note, @UserOut --Checkin transaction IF UPDATE(Checkin) AND @CIn = 1 EXEC usp_dsp_Invoice_Trans @Invoice_No, 'CHECKIN', @Drv_CD, @Trans_Note, @UserInThe dspRunH record with PKey = 236 has 3 child records in dspRunD table. So when I run this statement:
UPDATE dspRunD SET CheckOut = 1 where RunH_FK = 236the trigger should fire 3 times, right?
PRINT 'Trigger - ' + @Invoice_Noprints only once. Why?