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

MS SQL Server Discussion :

Requete SQL avec variable


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Juin 2010
    Messages : 210
    Par défaut Requete SQL avec variable
    Bonjour,
    J'écris une requete sql (enfin j'essaie) et je trouve pas la réponse à mon problème.
    Je m'en retourne donc vers vous.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    DECLARE @Champ nvarchar(50)
    DECLARE @MYVAL nvarchar(250)
     
    WHILE @i < 168
    BEGIN
    SELECT @Champ = COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'MATABLE' AND ORDINAL_POSITION = @i
    -- @Champ contient la nom de ma colonne "COLONE1"
    SET @MYVAL = (SELECT @Champ FROM INSERTED)
    -- @MYVAL contient le nom de ma colonne "COLONE1"
    SET @MYVAL = (SELECT COLONE1 FROM INSERTED)
    -- @MYVAL contient la valeur de ma colonne "VALEUR1"
    ...
    ...
    ..
    END
    Je ne comprend pas quelle est vraiment la différence. Et comment faire pour récupérer la valeur de la colonne en passant dans le select ma variable.

    Merci de votre aide

    P.S : désolé si le sujet à déja été traité mais je n'ai pas réussi à mettre la main sur ce que je veux.

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Il faut le faire en deux temps, d'abord construire la requête en chaîne de caractères à coup de concaténation, puis l'exécuter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT @SQL = 'SELECT ' + COLUMN_NAME + ' FROM INSERTED'
      FROM INFORMATION_SCHEMA.COLUMNS
     WHERE table_name = 'MATABLE'
       AND ORDINAL_POSITION = @i;
     
    PRINT @SQL;

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Juin 2010
    Messages : 210
    Par défaut
    Bonjour,
    Merci de ta réponse.

    J'ai éxécuté ta requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT @Champ = 'SELECT ' + COLUMN_NAME + ' FROM INSERTED' 
    FROM INFORMATION_SCHEMA.COLUMNS 
    WHERE table_name = 'MATABLE' AND ORDINAL_POSITION = @i
     
    SET @MYVAL = (SELECT @Champ FROM INSERTED)
    Je me retrouve toujours avec la même chose dans @MyVal et dans @Champ et non valeur de ma colone.

    Peut etre n'ai je pas compris ce que tu voulais m'expliquer..

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Juin 2010
    Messages : 210
    Par défaut
    Pardon j'ai Essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT @MYVAL = @Champ
    Et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SET @MYVAL = (SELECT @Champ)
    Car dans @ champ j'ai "SELECT COLUMN_NAME FROM INSERTED"

  5. #5
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Plutôt comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT @SQL = 'SELECT @MYVAL = ' + COLUMN_NAME + ' FROM INSERTED'
      FROM INFORMATION_SCHEMA.COLUMNS
     WHERE table_name = 'MATABLE'
       AND ORDINAL_POSITION = @i;
     
    PRINT @SQL;
    EXEC @SQL;
    PRINT @MYVAL;

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Juin 2010
    Messages : 210
    Par défaut
    Pardon je suis un peu lourd mais j'aimerais un complément d'info avant de tester.
    Tu EXEC @SQL (@Champ pour moi). Je comprend

    Mais ensuite tu Print @MyVal mais tu n'as rien mis dedans ?

Discussions similaires

  1. [AC-2007] Requete SQL avec variables
    Par Greg47 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 26/05/2010, 19h07
  2. Requete SQl avec variable d'un combobox
    Par nonopower dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 15/03/2010, 17h08
  3. requete sql avec variable feuil-range
    Par jokenjo dans le forum Excel
    Réponses: 6
    Dernier message: 18/03/2008, 15h47
  4. requete sql avec variable
    Par stefon dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 02/08/2006, 16h29
  5. requete sql avec variable
    Par Mihalis dans le forum Bases de données
    Réponses: 15
    Dernier message: 07/04/2006, 10h17

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