All pastes #439423 Raw Edit

Miscellany

public sql v1 · immutable
·published 2007-04-14 07:57 UTC
rendered paste body
CREATE TRIGGER delivery_charge_changeson DeliveryTypeFOR UPDATEAS        DECLARE @RowCount int,		@Error int,                @DeliveryTypeDescription varchar(10),                @OldDeliveryCharge smallmoney,                @NewDeliveryCharge smallmoney	IF @@RowCount > 0 AND UPDATE(DeliveryCharge)		BEGIN			IF NOT Exists ( SELECT DeliveryType.DeliveryTypeID add a change                                        FROM DeliveryType, Inserted                                        WHERE  DeliveryType.DeliveryCharge = Inserted.DeliveryCharge                                        AND    DeliveryType.DeliveryTypeID = Inserted.DeliveryTypeID                                      )                                                                         SET @DeliveryTypeDescription = ( SELECT DeliveryType.DeliveryTypeDescription                                                                       FROM DeliveryType, Inserted                                                                       WHERE DeliveryType.DeliveryTypeID = Inserted.DeliveryTypeID                                                                    )                                     SET @OldDeliveryCharge       = ( SELECT DeliveryType.DeliveryCharge                                                                       FROM DeliveryType, Inserted                                                                       WHERE DeliveryType.DeliveryTypeID = Inserted.DeliveryTypeID                                                                    )                                     SET @NewDeliveryCharge       = ( SELECT Inserted.DeliveryCharge                                                                       FROM DeliveryType, Inserted                                                                      WHERE DeliveryType.DeliveryTypeID = Inserted.DeliveryTypeID                                                                    )                                     INSERT INTO DeliveryTypeChanges (                                                                       ChangeDateTime,                                                                        DeliveryTypeDescription,                                                                        OldDeliveryCharge,                                                                        NewDeliveryCharge                                                                     )                                     VALUES ( getDate(),                                               @DeliveryTypeDescription,                                              @OldDeliveryCharge,                                              @NewDeliveryCharge                                            )                                     SELECT @Error = @@Error, @RowCount = @@Rowcount                                     IF @Error <> 0                                            BEGIN                                                   ROLLBACK TRANSACTION										                                           RAISERROR('There was an error in the insert transaction cancelled', 16, 1)                                            END                                     ELSE                                            BEGIN					           IF @RowCount = 0                                                          BEGIN                                                                 ROLLBACK TRANSACTION                                                                 RAISERROR('0 Rows Affected insert cancelled, 16, 1)                                                          END                                                   -- END IF				            END                                     -- END IF                       -- END IF		ENDRETURNGO