TR_FINANCIALTRANSACTIONAPPLICATION_INSERT_UPDATE
Definition
Copy
CREATE trigger TR_FINANCIALTRANSACTIONAPPLICATION_INSERT_UPDATE
on dbo.FINANCIALTRANSACTIONAPPLICATION
after insert, update
not for replication
as
begin
set nocount on;
if exists(
select
*
from
(select distinct FINANCIALTRANSACTIONSCHEDULEID from
INSERTED
) as SCHEDULES
inner join dbo.FINANCIALTRANSACTIONSCHEDULE as FTS on FTS.ID = SCHEDULES.FINANCIALTRANSACTIONSCHEDULEID and FTS.DELETED = 0
left outer join dbo.FINANCIALTRANSACTIONAPPLICATION as FTA
on FTA.FINANCIALTRANSACTIONSCHEDULEID = SCHEDULES.FINANCIALTRANSACTIONSCHEDULEID
where FTA.[STATUSCODE] in (0,1)
group by FTS.ID, FTS.AMOUNT
having
COALESCE(SUM(FTA.AMOUNT),0 ) > FTS.AMOUNT
)
raiserror('FT_CANNOT_APPLY_MORE_THAN_SCHEDULED' , 16, 1);
if exists(
select I.*
from INSERTED I
inner join dbo.FINANCIALTRANSACTIONSCHEDULE FTS on FTS.ID = I.FINANCIALTRANSACTIONSCHEDULEID
where FTS.DELETED = 1 and I.STATUSCODE != 2
)
raiserror('FT_CANNOT_APPLY_TO_DELETED_SCHEDULE', 16, 1);
end;