TR_DESIGNATIONLEVELGOAL_DESIGNATIONGOAL_INSERT
Definition
Copy
CREATE trigger dbo.TR_DESIGNATIONLEVELGOAL_DESIGNATIONGOAL_INSERT
on dbo.DESIGNATIONLEVELGOAL
after insert NOT FOR REPLICATION
as
begin
set nocount on;
declare @DESIGNATIONGOALID uniqueidentifier;
set @DESIGNATIONGOALID = newid();
declare @DESIGNATIONID uniqueidentifier;
select @DESIGNATIONID = ID
from dbo.DESIGNATION
where DESIGNATIONLEVEL1ID = (select DESIGNATIONLEVELID from INSERTED) and
DESIGNATIONLEVEL2ID is null;
if not @DESIGNATIONID is null
insert into dbo.DESIGNATIONGOAL(
ID,
DESIGNATIONID,
DESIGNATIONLEVELGOALID,
GOAL,
ORGANIZATIONGOAL,
ORGANIZATIONEXCHANGERATEID,
BASECURRENCYID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
select
@designationGoalID,
@DESIGNATIONID,
ID,
GOAL,
ORGANIZATIONGOAL,
ORGANIZATIONEXCHANGERATEID,
BASECURRENCYID,
ADDEDBYID,
CHANGEDBYID,
getdate(),
getdate()
from inserted
declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
update
dbo.DESIGNATIONLEVELGOAL
set
DESIGNATIONLEVELGOAL.ORGANIZATIONGOAL = DESIGNATIONLEVELGOAL.GOAL,
DESIGNATIONLEVELGOAL.BASECURRENCYID = @ORGANIZATIONCURRENCYID,
DESIGNATIONLEVELGOAL.CHANGEDBYID = DESIGNATIONLEVELGOAL.CHANGEDBYID,
DESIGNATIONLEVELGOAL.DATECHANGED = DESIGNATIONLEVELGOAL.DATECHANGED
from
inserted
inner join
dbo.DESIGNATIONLEVELGOAL on inserted.ID = DESIGNATIONLEVELGOAL.ID
where
DESIGNATIONLEVELGOAL.ORGANIZATIONEXCHANGERATEID is null
and (DESIGNATIONLEVELGOAL.BASECURRENCYID is null or DESIGNATIONLEVELGOAL.BASECURRENCYID = @ORGANIZATIONCURRENCYID)
and
(
DESIGNATIONLEVELGOAL.ORGANIZATIONGOAL <> DESIGNATIONLEVELGOAL.GOAL
or DESIGNATIONLEVELGOAL.GOAL = 0
);
end