MS SQL Server Triggers


The following triggers are available in the database.

Trigger

Name: TRG_SUB_INSERT

Content:

GO CREATE TRIGGER TRG_SUB_INSERT ON SUBSCRIPTION AFTER INSERT AS BEGIN IF (SELECT CODE FROM INSERTED) is not null BEGIN DECLARE @asCode int; SELECT @asCode = count(*) from SUBSCRIPTION, INSERTED WHERE SUBSCRIPTION.CODE = INSERTED.CODE AND SUBSCRIPTION.CODE IS NOT NULL AND SUBSCRIPTION.CODE != ''; IF @asCode > 1 BEGIN RAISERROR ('The subscription code is already in the subscription table', 16, 1); END; END; END; GO


Trigger

Name: TRG_DICO_UPDATE

Content:

GO CREATE TRIGGER TRG_DICO_UPDATE ON DICO AFTER UPDATE AS BEGIN IF (SELECT COUNT(*) FROM INSERTED I JOIN DELETED D ON (I.COUN_KEY = D.COUN_KEY AND I.ALLO_OID = D.ALLO_OID AND I.HOLD_OID = D.HOLD_OID) WHERE I.VALUE < 0 OR (I.VALUE < D.VALUE AND D.STATUS > 1 AND D.TYPE = 0) OR (I.VALUE > D.VALUE AND D.STATUS > 1 AND D.TYPE = 1)) > 0 BEGIN RAISERROR ('The DICO value cannot be lower than 0 or DICO status is NOT_USABLE', 16, 1); END; END; GO


Trigger

Name: TRG_DICO_CREDIT_UPDATE

Content:

GO CREATE TRIGGER TRG_DICO_CREDIT_UPDATE ON DICO AFTER UPDATE AS BEGIN IF (SELECT count(*) FROM inserted I JOIN deleted D ON (I.COUN_KEY = D.COUN_KEY AND I.HOLD_OID = D.HOLD_OID) WHERE I.TYPE = 1 AND I.VALUE >= D.VALUE) > 0 BEGIN INSERT DICO_TEMP SELECT @@SPID, COUN_KEY, HOLD_OID, VALUE FROM inserted; END; END; GO