Bonjour,
Voila j'essaye de créer un trigger qui se déclencherait avant un delete dans une de mes tables, mais celui-ci se compile avec des erreurs.
Voici tout d'abord les deux tables concernées :
Et voici mon trigger :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 CREATE TABLE Applications ( id number, name varchar(20), slaId number, networkId number, CONSTRAINT pk_applications primary key(id), CONSTRAINT fk_app_sla foreign key(slaId) references sla(id), CONSTRAINT fk_app_network foreign key(networkId) references networks(id) ); CREATE TABLE Sla ( id number, name varchar(20), (autres champs ... ) );
Il doit effacer la valeur du champ "slaId" dans la table "applications" sur les applications concernées lorsque le sla qui lui était attribué est effacé
Mais il se compile avec une erreur et je ne vois pas pourquoi...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 CREATE OR REPLACE TRIGGER TRG_REMOVE_slaId BEFORE DELETE ON Sla REFERENCING OLD AS old FOR EACH ROW BEGIN UPDATE Applications SET slaId='' WHERE slaId=:old.id; END /
Voyez vous quelque chose qui cloche ?
Merci d'avance
Partager