Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
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 07/06/2008, 19h00   #1
Membre du Club
 
Avatar de Nimothenicefish
 
Étudiant
Inscription : janvier 2008
Messages : 184
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2008
Messages : 184
Points : 66
Points : 66
Envoyer un message via MSN à Nimothenicefish Envoyer un message via Skype™ à Nimothenicefish
Par défaut Pb de trigger avant un delete

Bonjour,

débutant en trigger je n'arrive pas à faire fonctionner correctement celui ci

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
DROP TRIGGER IF EXISTS tr_fun02 ON compte;
DROP FUNCTION IF EXISTS fun02(); 
CREATE FUNCTION fun02() returns TRIGGER
AS $$
Declare NumCompte VARCHAR(5);
Begin
	DELETE FROM subit WHERE numco=old.numco;
	SELECT numco INTO NumCompte FROM COMPTE WHERE numco!=old.numco;
	UPDATE COMPTE SET solde = solde+old.solde WHERE numco = NumCompte;
RETURN new;
End;
$$ LANGUAGE 'plpgsql';
 
CREATE TRIGGER tr_fun02 before DELETE ON compte FOR each row execute procedure fun02();
Le trigger tr_fun02 execute la fonction fun02() avant chaque delete sur la table compte. La fonction est parfaitement exécuté. Mon seul problème est que le delete n'est pas effectué une fois la fonction arrivé à son terme.

Quelqu'un serait pourquoi ??

merci à vous

Cordialement, Nimo
Nimothenicefish est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2008, 22h47   #2
Inactif
 
Inscription : novembre 2004
Messages : 247
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 247
Points : 217
Points : 217
Bonsoir
Instruction COMMIT; (manquant dans la fonction ????)
begin
...
...
...
COMMIT;
RETURN new;

Regarder cette adresse http://www.postgresqlforums.com/foru....php?f=4&t=155
regardez begin & commit work etc.. dans la doc de PG.
Bon courage
bustaf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2008, 23h05   #3
Membre du Club
 
Avatar de Nimothenicefish
 
Étudiant
Inscription : janvier 2008
Messages : 184
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2008
Messages : 184
Points : 66
Points : 66
Envoyer un message via MSN à Nimothenicefish Envoyer un message via Skype™ à Nimothenicefish
En faite j'ai résolu mon problème, et pas d'obligation de mettre de commit; ca marche sans !
J'ai rien changer à monde, c'etait un pb qui venait d'ailleurs.
Merciii
Nimothenicefish est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h06.


 
 
 
 
Partenaires

Hébergement Web