TR_BANKACCOUNTDEPOSIT_VALIDATE
Definition
Copy
CREATE trigger dbo.TR_BANKACCOUNTDEPOSIT_VALIDATE on dbo.BANKACCOUNTDEPOSIT for INSERT, UPDATE not for replication as
BEGIN
set nocount on;
if exists(select 1
from inserted i
left join deleted d on i.ID = d.ID
where isnull(d.TRANSACTIONCURRENCYID, newid()) != i.TRANSACTIONCURRENCYID)
begin
if (select count(ID) from inserted) > 0 and
(not exists(select D.ID from INSERTED D
inner join dbo.BANKACCOUNTTRANSACTION T on D.ID = T.ID
inner join dbo.BANKACCOUNT BA on BA.ID = T.BANKACCOUNTID
inner join dbo.PDACCOUNTSYSTEM S on S.ID = BA.PDACCOUNTSYSTEMID
inner join dbo.CURRENCYSETTRANSACTIONCURRENCY C on C.CURRENCYSETID = S.CURRENCYSETID
where C.CURRENCYID = D.TRANSACTIONCURRENCYID or D.TRANSACTIONCURRENCYID is null))
begin
RAISERROR ('ERR_BANKACCOUNTDEPOSIT_TRANSACTIONCURRENCYID_NOTINCURRENCYSET', 16, 1)
ROLLBACK TRANSACTION
end
end
END