TR_BANKACCOUNTTRANSACTION_INSERT
Definition
Copy
CREATE trigger [dbo].[TR_BANKACCOUNTTRANSACTION_INSERT]
ON [dbo].[BANKACCOUNTTRANSACTION]
AFTER INSERT
NOT FOR REPLICATION
AS
BEGIN
SET NOCOUNT ON
DECLARE @AccountID uniqueidentifier; SELECT @AccountID=BANKACCOUNTID FROM INSERTED;
IF NOT EXISTS(SELECT ID FROM DBO.BANKACCOUNT A WHERE A.ID=@AccountID AND A.STATUSCODE=1) BEGIN
RAISERROR ('Transactions cannot be added to closed bank accounts.', 16, 1)
ROLLBACK TRANSACTION
END
if exists(select BAT.ID from dbo.BANKACCOUNTTRANSACTION BAT
inner join DELETED D on D.BANKACCOUNTID = BAT.BANKACCOUNTID and D.TRANSACTIONTYPECODE = BAT.TRANSACTIONTYPECODE
and D.TRANSACTIONNUMBER = BAT.TRANSACTIONNUMBER
where BAT.DELETED = 0)
begin
raiserror('UIX_BANKACCOUNTTRANSACTION_BANKACCOUNTID_TRANSACTIONTYPECODE_TRANSACTIONNUMBER', 16, 1)
rollback transaction
end
END