Bonjour à tous,
J'ai crée un trigger qui se declence a la suppression d'un ligne de la table service que voici :
le code fonctionne bien..Si il n'y a qu'un employé qui travaille dans ce service. Lorsqu'il y en a 2 ca plante avec cette erreur :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 CREATE OR REPLACE TRIGGER T1 BEFORE DELETE ON SERVICE FOR EACH ROW DECLARE CURSOR C IS SELECT IDPERSONNE,Profession,Service FROM EMPLOYE WHERE SERVICE=:OLD.IDSERVICE; PERS EMPLOYE.IDPERSONNE%TYPE; PROF EMPLOYE.PROFESSION%TYPE; SERVICE EMPLOYE.SERVICE%TYPE; BEGIN OPEN C; FETCH C INTO PERS,PROF,SERVICE; INSERT INTO CANDIDAT VALUES (PERS, PROF); DELETE EMPLOYE WHERE SERVICE=(:OLD.IDSERVICE) AND IDPERSONNE=PERS; UPDATE END; /
Je dois faire une erreur quelque part dans mes boucles ou je ne sais pas.Code:Violation de contrainte d'integrité - Enregistrement fils existant
Merci