Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/01/2007, 19h13   #1
Membre du Club
 
Inscription : novembre 2005
Messages : 236
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 236
Points : 45
Points : 45
Par défaut Probeme de curseur

Bonjour à tous,

J'ai crée un trigger qui se declence a la suppression d'un ligne de la table service que voici :
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;
/
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 :
Violation de contrainte d'integrité - Enregistrement fils existant
Je dois faire une erreur quelque part dans mes boucles ou je ne sais pas.
Merci
shub est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2007, 23h49   #2
Membre éclairé
 
Inscription : décembre 2004
Messages : 349
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2004
Messages : 349
Points : 367
Points : 367
Citation:
Envoyé par shub
Je dois faire une erreur quelque part dans mes boucles ou je ne sais pas.
S'il ne s'agit pas d'un secret défense, essaies de faire passer l'intégralité du code de ton trigger,( les desc des tables, les PK ainsi que les FK seraient les bienvenues) parce que là, ya pas de boucle et il m'étonnerait fort que ton code compile.

CDLT.
taska est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2007, 10h32   #3
Membre du Club
 
Inscription : novembre 2006
Messages : 190
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 190
Points : 67
Points : 67
l'employé à supprimé possede de détails c'est à dire que sa clé primaire migre dans une autre table
daliok est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h24.


 
 
 
 
Partenaires

Hébergement Web