Sybase ASE Triggers


The following triggers are available in the database.

Trigger

Name: TRG_SUB_INSERT

Content:

CREATE TRIGGER TRG_SUB_INSERT ON SUBSCRIPTION FOR INSERT AS IF (SELECT COUNT(*) FROM SUBSCRIPTION, inserted WHERE SUBSCRIPTION.CODE = inserted.CODE AND SUBSCRIPTION.CODE IS NOT NULL AND SUBSCRIPTION.CODE != '') > 1 BEGIN RAISERROR 20000 'The subscription code is already in the subscription table' END GO


Trigger

Name: TRG_DICO_UPDATE

Content:

CREATE OR REPLACE TRIGGER TRG_DICO_UPDATE ON DICO FOR UPDATE AS 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 20000 'The DICO value cannot be lower than 0 or DICO status is NOT_USABLE' END GO


Trigger

Name: TRG_DICO_CREDIT_UPDATE

Content:

CREATE OR REPLACE TRIGGER TRG_DICO_CREDIT_UPDATE ON DICO FOR UPDATE AS IF (SELECT count(*) FROM inserted WHERE TYPE = 1) > 0 BEGIN INSERT DICO_TEMP SELECT COUN_KEY, HOLD_OID, VALUE FROM inserted WHERE TYPE = 1 END GO