![]() |
---|
CREATE trigger [dbo].[TR_MKTSEGMENTATIONSEGMENT_IU_ORGANIZATIONGIFTAMOUNT] on [dbo].[MKTSEGMENTATIONSEGMENT] 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.[MKTSEGMENTATIONSEGMENT] set [MKTSEGMENTATIONSEGMENT].[ORGANIZATIONGIFTAMOUNT] = [MKTSEGMENTATIONSEGMENT].[GIFTAMOUNT], [MKTSEGMENTATIONSEGMENT].[BASECURRENCYID] = @ORGANIZATIONCURRENCYID, [MKTSEGMENTATIONSEGMENT].[CHANGEDBYID] = [MKTSEGMENTATIONSEGMENT].[CHANGEDBYID], [MKTSEGMENTATIONSEGMENT].[DATECHANGED] = [MKTSEGMENTATIONSEGMENT].[DATECHANGED] from inserted inner join dbo.[MKTSEGMENTATIONSEGMENT] on inserted.ID = [MKTSEGMENTATIONSEGMENT].[ID] where [MKTSEGMENTATIONSEGMENT].[CURRENCYEXCHANGERATEID] is null and ([MKTSEGMENTATIONSEGMENT].[BASECURRENCYID] is null or [MKTSEGMENTATIONSEGMENT].[BASECURRENCYID] = @ORGANIZATIONCURRENCYID) and ([MKTSEGMENTATIONSEGMENT].[ORGANIZATIONGIFTAMOUNT] <> [MKTSEGMENTATIONSEGMENT].[GIFTAMOUNT]); end end |