Bonjour à tous,

Après avoir étudié une grande partie de ce que propose Oracle SQL nous allons approfondir le sujet avec le langage PL / SQL qui nous permettra d’intégrer plus de contraintes du diagramme relationnel lors de la création de nos tables, tel que les contraintes de surjection.

Structure Trigger :

CREATE TRIGGER nomTrigger
BEFORE INSERT OR UPDATE ON nomTable
FOR EACH ROW
WHEN ( NEW.attr = … ) -- Optionnel
BEGIN
    …
    RAISE_APPLICATION_ERROR ( -20000, “Insertion ou MaJ non effectuée” );
END
;
/

Il est possible de déclencher un Trigger après une action en remplacant BEFORE par AFTER

Il est possible de déclencher un Trigger lors d’une insertion (INSERT), mise à jour (UPDATE) ou suppression (DELETE) de tuple.

Variable :

DECLARE -- entre FOR EACH ROW et BEGIN
nbNum NUMBER;
…

OU

DECLARE 
nbNum nomTable.attr%TYPE;
…

Conditionnel :

IF ( :NEW.attr > 2 ) THEN
    …
END IF;

Si vous pensez que cette série d’articles peut intéresser d’autres personnes,vous pouvez partager cet article sur les réseaux sociaux et par mail à vos amis.

Pour toutes questions vous pouvez me contacter par mail ou via l’onglet “Contact” en haut du site.

Merci !