IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

Probleme de fonction trigger


Sujet :

PostgreSQL

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 20
    Par défaut Probleme de fonction trigger
    Bonjour,
    j'ai créé une fonction à l'aide de l'interface graphique de pgadmin 3.
    Ensuite j'ai ajouté mon trigger à la table correspondante, qui s'executera lors d'une modification de la table

    Mais quand je fais une opération sur la table il me dit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Erreur : le controle a atteint la fin de la procédure trigger sans RETURN"
    je ne comprends pas pouruqoi il me sort ca puisque j'ai utilisé l'interface graphique pour créer ma fonction que voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    CREATE OR REPLACE FUNCTION trig_updt()
      RETURNS trigger AS
    $BODY$BEGIN
    	UPDATE update_table SET table_update = now()
    	WHERE id_update = 1;
    END;$BODY$
      LANGUAGE plpgsql VOLATILE
      COST 100;
    ALTER FUNCTION trig_updt()
      OWNER TO postgres;
    et le code du trigger
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    CREATE TRIGGER modif_table
      AFTER INSERT OR UPDATE OR DELETE
      ON tableamodif
      FOR EACH ROW
      EXECUTE PROCEDURE trig_updt();
    Merci de votre aide.

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    Bonjour,

    il faut rajouter "return null;" avant le "end".


    Citation Envoyé par geof51 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    CREATE OR REPLACE FUNCTION trig_updt()
      RETURNS trigger AS
    $BODY$BEGIN
    	UPDATE update_table SET table_update = now()
    	WHERE id_update = 1;
                 return null;
    END;$BODY$
      LANGUAGE plpgsql VOLATILE
      COST 100;
    ALTER FUNCTION trig_updt()
      OWNER TO postgres;

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 20
    Par défaut
    ah oui effectivement, j'aurai du mieux relire l'exemple :/

    Merci beaucoup de cette réponse rapide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. fonction trigger et données
    Par champijulie dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 17/06/2005, 17h05
  2. Réponses: 17
    Dernier message: 24/03/2005, 12h24
  3. [langage] problème avec fonction read
    Par domidum54 dans le forum Langage
    Réponses: 2
    Dernier message: 30/03/2004, 20h42
  4. [VB6]Problème de fonction
    Par mustang-ffw02 dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 27/03/2004, 15h09
  5. Probleme de fonction
    Par yenna dans le forum ASP
    Réponses: 6
    Dernier message: 01/03/2004, 14h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo