![]() |
---|
CREATE trigger [dbo].[TR_MKTSEGMENTATIONTESTSEGMENT_IU_ORGANIZATIONGIFTAMOUNT] on [dbo].[MKTSEGMENTATIONTESTSEGMENT] after insert, update not for replication as begin set nocount on; -- if we try to save an amount without explicitly setting an organization amount and an exchange rate, -- copy the amount to the organization amount. if update(GIFTAMOUNT) begin declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.[UFN_CURRENCY_GETORGANIZATIONCURRENCY](); update dbo.[MKTSEGMENTATIONTESTSEGMENT] set [MKTSEGMENTATIONTESTSEGMENT].[ORGANIZATIONGIFTAMOUNT] = [MKTSEGMENTATIONTESTSEGMENT].[GIFTAMOUNT], [MKTSEGMENTATIONTESTSEGMENT].[BASECURRENCYID] = @ORGANIZATIONCURRENCYID, [MKTSEGMENTATIONTESTSEGMENT].[CHANGEDBYID] = [MKTSEGMENTATIONTESTSEGMENT].[CHANGEDBYID], [MKTSEGMENTATIONTESTSEGMENT].[DATECHANGED] = [MKTSEGMENTATIONTESTSEGMENT].[DATECHANGED] from inserted inner join dbo.[MKTSEGMENTATIONTESTSEGMENT] on inserted.ID = [MKTSEGMENTATIONTESTSEGMENT].[ID] where [MKTSEGMENTATIONTESTSEGMENT].[ORGANIZATIONCURRENCYEXCHANGERATEID] is null and ([MKTSEGMENTATIONTESTSEGMENT].[BASECURRENCYID] is null or [MKTSEGMENTATIONTESTSEGMENT].[BASECURRENCYID] = @ORGANIZATIONCURRENCYID) and ( [MKTSEGMENTATIONTESTSEGMENT].[ORGANIZATIONGIFTAMOUNT] <> [MKTSEGMENTATIONTESTSEGMENT].[GIFTAMOUNT] or ([MKTSEGMENTATIONTESTSEGMENT].[GIFTAMOUNT] = 0) ); end end |