Bonjours tous le monde, me revoila avec mes question de base de donnée, alors après avoir découvert que mon oracle ne supportait la fonction merge , j'ai décidé de me fair ma propres fonction.
J'ai donc fait un trigger sur ma table :
Donc après compilation j'ai des messages d'erreurs : Sinon sa n'aurais pas été de moi...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 CREATE or replace TRIGGER TRIGGER_TEST_ON_INSERT BEFORE INSERT ON ARCHIVES.dest_calendrier FOR EACH ROW begin IF EXISTS (Select * from archives.DEST_CALENDRIER D where :new.dest_ferme= D.dest_ferme) then Delete from archives.dest_calendrier where(:new.dest_ferme= D.dest_ferme); Insert into archives.dest_calendrier values(:new.dest_ferme, :new.dest_libelle); else Insert into archives.dest_calendrier values(:new.dest_ferme, :new.dest_libelle); end;
J'ai déja essayer plusieur correction (enlever les ; les dpélacer, etc...) mais sa na pas marché.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 LINE/COL ERROR -------- ----------------------------------------------------------------- 8/4 PLS-00103: Symbole ";" rencontré à la place d'un des symboles suivants : if
Je pense que les erreurs vienne de ma facon de fair les triggeur et de fair cohabiter if existe avec mais je ne voyais pas comment fair autrement. Merci de votre attention porté a mon sujet
Partager