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 :

CTE dans un trigger pour utiliser les variables NEW et OLD [9.6]


Sujet :

Requêtes PostgreSQL

  1. #1
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2014
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Août 2014
    Messages : 257
    Points : 395
    Points
    395
    Par défaut CTE dans un trigger pour utiliser les variables NEW et OLD
    Bonjour bonjour,

    Votre humble serviteur requiert votre aide. Postgresql lui est relativement inconnu et le victime.
    Le contexte ? Un trigger, dans lequel il voudrait utiliser des CTE. Un CTE pour recupérer les variables contenues dans le NEW.* et un contenu dans le OLD.*

    J'ai tenté quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    WITH 
    	newvalue(valeur1, valeur2, valeur3, valeur4,valeur5, valeur6) AS
    	(
    	    VALUES (NEW.valeur1, NEW.valeur2, NEW.valeur3, NEW.valeur4,NEW.valeur5, NEW.valeur6)
    	),
    J'utilise cette méthode pour pouvoir, dans la suite, faire un row_to_json de ces deux cte. Mais je ne comprenais pas pourquoi celui-ci plantait.
    Il s'avère au final que mon row_to_json de ce cte est null. J'imagine donc que le problème est dans le cte, mais honnetement, je ne vois pas où...

    Si une âme charitable pouvait venir m'éclairer... (Soyez pas méchant svp)

    Bisous bisous

  2. #2
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2014
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Août 2014
    Messages : 257
    Points : 395
    Points
    395
    Par défaut
    Bonjour bonjour,

    Ayant connecté mes deux neurones, je me suis rendu compte que je voulais tuer une mouche avec un bazooka.
    Je pouvais très bien mettre mes nouvelles valeurs dans un format json comme ceci :

    (row_to_json(OLD.*) AS old_value

    Ca parait bidon... et ca l'est.

    Grâce à cela, je peux maintenant savoir quelle colonne a été mise à jour et donc mon problème initial est résolu.

    Désolé pour l'inutilité du post.

    Si toutefois quelqu'un veut retrouver l'algo pour voir quelle colonne a été mise à jour dans son trigger, je le ferais partager avec plaisir

    Bisous bisous

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

Discussions similaires

  1. Option pour voir les variable non utilisées ?
    Par lex13 dans le forum NetBeans
    Réponses: 13
    Dernier message: 25/08/2007, 13h57
  2. Réponses: 3
    Dernier message: 09/01/2007, 10h44
  3. Réponses: 6
    Dernier message: 07/04/2006, 02h10
  4. Réponses: 2
    Dernier message: 17/09/2005, 18h43
  5. Réponses: 7
    Dernier message: 07/09/2004, 15h16

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