![]() |
---|
CREATE trigger dbo.[TR_MKTASKLADDERITEM_INSERTUPDATE_CURRENCY] on dbo.[MKTASKLADDERITEM] after insert, update not for replication as begin set nocount on; declare @ORGANIZATIONCURRENCYID uniqueidentifier; --Make sure the base currency is set equal to the parent if it is not already set... update dbo.[MKTASKLADDERITEM] set [MKTASKLADDERITEM].[BASECURRENCYID] = [MKTASKLADDER].[BASECURRENCYID], [MKTASKLADDERITEM].[CHANGEDBYID] = [MKTASKLADDERITEM].[CHANGEDBYID], [MKTASKLADDERITEM].[DATECHANGED] = [MKTASKLADDERITEM].[DATECHANGED] from inserted inner join dbo.[MKTASKLADDERITEM] on inserted.ID = [MKTASKLADDERITEM].[ID] inner join dbo.[MKTASKLADDER] on [MKTASKLADDER].[ID] = [MKTASKLADDERITEM].[ASKLADDERID] where [MKTASKLADDERITEM].[BASECURRENCYID] is null; if update(MINIMUMENTRYAMOUNT) or update(ITEMVALUE1) or update(ITEMVALUE2) or update(ITEMVALUE3) or update(ITEMVALUE4) or update(ITEMVALUE5) begin set @ORGANIZATIONCURRENCYID = dbo.[UFN_CURRENCY_GETORGANIZATIONCURRENCY](); --Base currency will always be set by the update statement above, so we don't have to worry about it here... update dbo.[MKTASKLADDERITEM] set [MKTASKLADDERITEM].[ORGANIZATIONMINIMUMENTRYAMOUNT] = [MKTASKLADDERITEM].[MINIMUMENTRYAMOUNT], [MKTASKLADDERITEM].[ORGANIZATIONITEMVALUE1] = [MKTASKLADDERITEM].[ITEMVALUE1], [MKTASKLADDERITEM].[ORGANIZATIONITEMVALUE2] = [MKTASKLADDERITEM].[ITEMVALUE2], [MKTASKLADDERITEM].[ORGANIZATIONITEMVALUE3] = [MKTASKLADDERITEM].[ITEMVALUE3], [MKTASKLADDERITEM].[ORGANIZATIONITEMVALUE4] = [MKTASKLADDERITEM].[ITEMVALUE4], [MKTASKLADDERITEM].[ORGANIZATIONITEMVALUE5] = [MKTASKLADDERITEM].[ITEMVALUE5], [MKTASKLADDERITEM].[CHANGEDBYID] = [MKTASKLADDERITEM].[CHANGEDBYID], [MKTASKLADDERITEM].[DATECHANGED] = [MKTASKLADDERITEM].[DATECHANGED] from inserted inner join dbo.[MKTASKLADDERITEM] on inserted.ID = [MKTASKLADDERITEM].[ID] where [MKTASKLADDERITEM].[ORGANIZATIONEXCHANGERATEID] is null and [MKTASKLADDERITEM].[BASECURRENCYID] = @ORGANIZATIONCURRENCYID and ( [MKTASKLADDERITEM].[ORGANIZATIONMINIMUMENTRYAMOUNT] <> [MKTASKLADDERITEM].[MINIMUMENTRYAMOUNT] or [MKTASKLADDERITEM].[ORGANIZATIONITEMVALUE1] <> [MKTASKLADDERITEM].[ITEMVALUE1] or [MKTASKLADDERITEM].[ORGANIZATIONITEMVALUE2] <> [MKTASKLADDERITEM].[ITEMVALUE2] or [MKTASKLADDERITEM].[ORGANIZATIONITEMVALUE3] <> [MKTASKLADDERITEM].[ITEMVALUE3] or [MKTASKLADDERITEM].[ORGANIZATIONITEMVALUE4] <> [MKTASKLADDERITEM].[ITEMVALUE4] or [MKTASKLADDERITEM].[ORGANIZATIONITEMVALUE5] <> [MKTASKLADDERITEM].[ITEMVALUE5] or ( [MKTASKLADDERITEM].[MINIMUMENTRYAMOUNT] = 0 and [MKTASKLADDERITEM].[ITEMVALUE1] = 0 and [MKTASKLADDERITEM].[ITEMVALUE2] = 0 and [MKTASKLADDERITEM].[ITEMVALUE3] = 0 and [MKTASKLADDERITEM].[ITEMVALUE4] = 0 and [MKTASKLADDERITEM].[ITEMVALUE5] = 0 ) ); end end |