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

Requêtes PostgreSQL Discussion :

Triggers sous PostGreSQL


Sujet :

Requêtes PostgreSQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2003
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Triggers sous PostGreSQL
    Bonjour,
    j'ai écris une procédure stockée et un trigger en PL/pgSQL qui utilise cette procédure.
    Le problème est que je ne sais pas comment exécuter ce trigger sous PostGreSQL.
    Et est-ce que je suis obligée d'utiliser ce langage (plpgsq) et de découper en une fonction et un trigger (j'ai lu ça sur un site)?

    Voici le code :
    CREATE FUNCTION control_ue_pre() RETURNS opaque AS '
    BEGIN
    if (new.code_ue=:new.code_ue_pre) then
    raise_application_error(-20001,'Une ue ne peut-être le prérequis d'elle-même !');
    end if;
    return NEW;
    END;
    ' LANGUAGE 'plpgsql';


    create trigger T_ue_prerequis
    before insert or update on Ue_prerequise
    for each row
    execute procedure control_ue_pre();

    Merci.

  2. #2
    Membre habitué
    Inscrit en
    Mai 2003
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 146
    Points : 172
    Points
    172
    Par défaut
    oui c'est ce que j e fais moi, un trigger qui fait appel à une fonction et ca marche très bien!

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2003
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Mais comment fais-tu pour exécuter la fonction et après le trigger.

  4. #4
    Membre à l'essai
    Inscrit en
    Mars 2003
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 17
    Points : 17
    Points
    17
    Par défaut
    La fonction sera exécutée automatiquement pour les cas précisés dans la création du trigger.

    Lorsque tu crée une fonction qui retourne un type opaque et que tu associes cette fonction à un trigger, la fonction classique est transformée en fonction trigger.

  5. #5
    Futur Membre du Club
    Inscrit en
    Août 2003
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Triggers sous PostGreSQL
    Bonjour,

    J'essaie aussi de creer un trigger qui fair appel a une fonction. Mon probleme est que je cree ma fonction (a la fin s'affiche "create"). Mais quand j'essaie de creer le trigger, j'ai une erreur comme quoi la fonction n'existe pas.
    De plus cette fonction prend plusieurs arguments en entrée et je ne vois pas comment l'appeler.

    Si vous pouvez m'eclairer merci d'avance!

Discussions similaires

  1. TRIGGER Et FOCNTION sous Postgresql
    Par henpower dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 29/08/2007, 15h59
  2. 'SHOW TABLES' marche pas sous postgresql !?
    Par fet dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 13/05/2004, 09h28
  3. select dans un trigger sous Postgresql
    Par kastor_grog dans le forum Requêtes
    Réponses: 1
    Dernier message: 03/09/2003, 17h00
  4. select dans un trigger sous Postgresql
    Par kastor_grog dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 03/09/2003, 17h00
  5. Triggers sous PostGreSQL
    Par Phaf dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 05/08/2003, 14h22

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