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 05/04/2008, 11h15   #1
Invité régulier
 
Gregory Anne
Inscription : avril 2007
Messages : 19
Détails du profil
Informations personnelles :
Nom : Gregory Anne
Âge : 28

Informations forums :
Inscription : avril 2007
Messages : 19
Points : 8
Points : 8
Envoyer un message via Skype™ à zg2pro
Par défaut Triggers sur postgres

Bonjour,

j'ai une table de relation estdans qui contient des noms d'equipe et des entiers correspondant à des membres de ces equipes et en plus pour chacun de ces tuples un attribut (bool) est_un_chef qui indique si le membre de l'equipe est le chef de l'equipe ou pas.

Maintenant je dois avoir un trigger qui n'autorise qu'un seul chef d'equipe par equipe, je veux donc mettre à false tous les membres de l'equipe de ce membre puis ensuite inserer ou modifier le nouveau membre comme on le souhaite.

J'ai pu creer cette fonction :
create function clearTeamLeader(team varchar) returns void as $$
begin
update estDans set est_un_chef = false where nom = team and est_un_chef = true;
end;
$$ language plpgsql;

et je voudrais ajouter ce trigger :
create or replace trigger newTeamLeader
before insert or update on estDans
when new.est_un_chef = true
for each row
execute procedure clearTeamLeader(new.nom);

mais postgres me retourne cette erreur :
ERREUR: erreur de syntaxe sur ou près de « when »
LINE 3: when new.est_un_chef = true
^

pour experience j'ai aussi tenté de lever la clause when et j'ai encore une erreur :
ERREUR: erreur de syntaxe sur ou près de « new »
LINE 4: execute procedure clearTeamLeader(new.nom);
^

J'ai aussi tenté de mettre le contenu de ma procedure dans le trigger entre un begin et un end mais postgres ne semble pas reconnaitre le motclé begin non plus....

je me demande bien ce qui se passe...
Quelqu'un peut-il m'aider svp ?
zg2pro 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 23h41.


 
 
 
 
Partenaires

Hébergement Web