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 MySQL Discussion :

SQL Only : WHERE => Variable à la place du nom de colonne.


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 12
    Points : 12
    Points
    12
    Par défaut SQL Only : WHERE => Variable à la place du nom de colonne.


    Bonjour,

    Si cela pouvait fonctionner, je gagnerai bien ma journée. ( Voir ma semaine au regard de la charge de travail qui en découle).

    Pour simplifier, Voici le code à sa plus simple des expressions :
    Ceci est une partie de ma procédure stockée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SET @a='synchroContact';
     
    SELECT * FROM contact WHERE @a IS NOT NULL;
    => Pas de message d'erreur mais résultat non cohérent. La variable à la place du nom de colonne m'offre un résultat erroné.

    Pour débogage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM contact WHERE 'synchroContact' IS NOT NULL;[/COLOR]
    => Donne le même résultat. Normal.

    Question : Comment faire pour que ma variable soit reconnu en tant que nom de colonne?

    Un grand merci pour votre aide...





    BDD : MySQL 5.5.8.
    Dev : C# .NET 4.

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 018
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 018
    Points : 23 710
    Points
    23 710
    Par défaut
    Bonjour,

    Il faut passer par les requêtes préparées : http://dev.mysql.com/doc/refman/5.5/...tatements.html

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 12
    Points : 12
    Points
    12
    Par défaut Merci.


    Merci pour le coup de pouces!

    Je vais travailler en ce sens pour valider.

    Je remonte les informations une fois fini.


    Cordialement.


  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 12
    Points : 12
    Points
    12
    Par défaut


    Parfaitement fonctionnel.

    Extrait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SET @colonne='synchro';
    SET @Table='contact';
    SET @chaine=CONCAT('SELECT * FROM ', @table,' WHERE ', @colonne,' IS NOT NULL');
    PREPARE reqPrepare FROM @chaine;
    
    EXECUTE reqPrepare; 
    DEALLOCATE PREPARE reqPrepare;




    EXECUTE ... Ne se lance pas à partir de ma procédure stockée, mais cela est une autre histoire.


    Bonne continuation. Jérôme.

    Merci.

    .

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

Discussions similaires

  1. requete SQL clause WHERE avec variable
    Par gabule dans le forum JDBC
    Réponses: 6
    Dernier message: 09/01/2019, 11h04
  2. Utiliser une variable à la place du nom de table
    Par dily0403 dans le forum Développement
    Réponses: 3
    Dernier message: 22/08/2008, 10h00
  3. Nom de variable à la place du nom d'une feuille de calcul
    Par Stargate SG1 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/12/2007, 09h37
  4. sql, clause where et variable publique
    Par sebinator dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 05/11/2007, 14h33
  5. [SQL] fonction where avec variable
    Par rvm31 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 29/10/2007, 09h12

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