Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL > Requêtes
Requêtes Forum d'entraide sur les requêtes SQL spécifiques à PostgreSQL, les triggers, les vues, etc.
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 08/01/2012, 21h48   #1
Nouveau Membre du Club
 
Homme
Inscription : mars 2004
Messages : 125
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations forums :
Inscription : mars 2004
Messages : 125
Points : 28
Points : 28
Par défaut Problème function must return type "trigger"

Bonsoir,

Je galère depuis deux bonne heure a crée un simple trigger, pour ensuite m'attaqué a plus compliqué.
Mais voila je n'y arrive pas, j'ai toujours l'erreur suivante
Code :
 FUNCTION sup must RETURN type "trigger"
voici le code SQL pour le crataion de trigger

Code :
1
2
3
4
5
6
7
8
CREATE FUNCTION sup() RETURNS TRIGGER AS $sup$
BEGIN
DELETE FROM utilisateur WHERE id_utilisateur=MAX(id_utilisateur)-1;
 RETURN NULL;
END;
$sup$ LANGUAGE plpgsql;
 
CREATE TRIGGER sup_user AFTER INSERT ON utilisateur FOR EACH ROW EXECUTE PROCEDURE sup();
Merci pour votre aide
pony99 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2012, 15h58   #2
Modérateur
 
Inscription : octobre 2008
Messages : 1 508
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2008
Messages : 1 508
Points : 2 040
Points : 2 040
Le message d'erreur indiqué ne correspond pas au code montré.

En revanche il y a un problème dans le trigger c'est que le WHERE de la requête à l'intérieur est invalide, on ne peut pas faire WHERE colonne=MAX(expression), il faudrait plutôt faire une sous-requête.
estofilo 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 09h00.


 
 
 
 
Partenaires

Hébergement Web