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 :

variable trigger


Sujet :

PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Septembre 2003
    Messages
    302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2003
    Messages : 302
    Par défaut variable trigger
    Bonjour à tous,

    je veux faire un trigger qui mette à jour les variables upd_date et upd_user de toutes mes tables. Ces 2 variables permettent de savoir quel est le dernier utilisateur à "avoir fait des conneries" sur les enregistrements . Donc au départ, j'avais fait une fonction du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    BEGIN
    	NEW.upd_date = current_timestamp;
    	NEW.upd_user = session_user;
    	RETURN NEW;
    END;
    Tout marchait bien dans le meilleur des mondes. Cependant, j'ai du changer le nom de ces 2 variables et elles sont toutes nommées sous cette forme premièrelettretable_upd_date et premièrelettretable_upd_user donc pour mon trigger je dois essayer de retrouver le nom de mes champs en dynamique.
    J'ai donc tenté ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    BEGIN
    	SELECT INTO updatedate attname FROM pg_attribute, pg_class WHERE pg_class.relname=TG_RELNAME AND pg_class.relfilenode = pg_attribute.attrelid AND attname like '%_upd_date' ORDER BY 1;
    	NEW.updatedate = current_timestamp;
    	SELECT INTO updateuser attname FROM pg_attribute, pg_class WHERE pg_class.relname=TG_RELNAME AND pg_class.relfilenode = pg_attribute.attrelid AND attname like '%_upd_usr' ORDER BY 1;
    	NEW.updateuser = session_user;
    	RETURN NEW;
    END;
    Seulement le problème est qu'il n'a pas l'air d'accepter mes variables updatedate et updateuser. Ce que je concois mais existe-t-il une solution ??

    J'espère que j'ai été assez explicite. Merci d'avance.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Septembre 2003
    Messages
    302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2003
    Messages : 302
    Par défaut
    personne n'a la réponse à ma question ?
    même si c'est pour me dire que ce que je veux faire est impossible

Discussions similaires

  1. variable trigger old et new
    Par Issam dans le forum Développement
    Réponses: 2
    Dernier message: 23/09/2010, 12h58
  2. Réponses: 9
    Dernier message: 31/01/2006, 09h04
  3. Variable OUTPUT dans Trigger
    Par Yanmeunier dans le forum Développement
    Réponses: 4
    Dernier message: 09/12/2005, 13h38
  4. Procédures stockées, Trigger et variables internes
    Par lio33 dans le forum InterBase
    Réponses: 1
    Dernier message: 01/09/2005, 10h28
  5. Réponses: 5
    Dernier message: 25/11/2003, 09h41

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