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

Développement SQL Server Discussion :

Inclure une variable dans as


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 26
    Par défaut Inclure une variable dans as
    Bonjour!

    Je suis en formation de développeur et j'ai un devoir à rendre cet après-midi. Je bloque sur un élément, impossible de trouver l'info suivante :
    Comment inclure une variable dans la clause as de mon SELECT (pour qu'elle apparaisse dans le titre de la colonne)?

    Voilà mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    -- 1 / Interrogation des groupes jouant un titre donné.
    ---- Stockage du titre souhaité dans la variable @titre
    declare @titre varchar(50)
    set @titre='Rock With You'
     
     
    select nomGroupe as [Noms des groupes jouant@titre]
        from Oeuvres O 
            join Jouer J on O.idOeuvre=J.idOeuvre
            join Groupes G on J.idGroupe=G.idGroupe
                where nomOeuvre = @titre


    Voilà, pour l'instant j'ai écrit [Noms des groupes jouant@titre] mais ça ne marche pas car ça affiche "Noms des groupes jouant@titre" comme nom de colonne alors que je voudrais "Noms des groupes jouant Rock With You".

    Si quelqu'un pouvait m'aider!

    Mille mercis.

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 953
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 953
    Par défaut
    Pa sdu tout sûr mais as tu essayé [Noms des groupes jouant]@titre

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 26
    Par défaut
    Vi, j'ai essayé sans succès :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select nomGroupe as [Noms des groupes jouant]@titre
    select nomGroupe as [Noms des groupes jouant]+@titre
    select nomGroupe as [Noms des groupes jouant]'@titre'

  4. #4
    Membre Expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 797
    Par défaut
    Essaie ainsi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    DECLARE @titre varchar(50)
    SET @titre='Rock With You'
     
    DECLARE @SQL Nvarchar(MAX)
    SET @SQL = 'SELECT NomGroupe [Noms des groupes jouant ' + @titre + '] ...'
     
    EXEC sp_executeSQL @SQL
    Testé avec succès sur mon PC.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 26
    Par défaut
    Génial ça marche, merci!!

    Pour savoir, je mets donc entre quotes tout ce qui n'est pas une variable?
    Mais quand je dois mettre des quotes dans la requête SQL, je les échappe?
    Par exemple ici avec 'Jean' en gras :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    DECLARE @titre varchar(50)
    SET @titre='Rock With You'
     
     
    DECLARE @SQL Nvarchar(MAX)
    SET @SQL = 'SELECT NomGroupe [Noms des groupes jouant ' + @titre + '] FROM Groupes WHERE NomCor='Jean' '
     
    EXEC sp_executeSQL @SQL

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 26
    Par défaut
    Ca marche mais je n'arrive pas à l'adapter à toute ma requête :

    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
     
    -- 1 / Interrogation des groupes jouant un titre donné.
    ---- Stockage du titre souhaité dans la variable @titre
    DECLARE @titre varchar(50)
    SET @titre='Rock With You'
     
    -- Stockage de la requête dans une variable pour l'utilisation de dynamic SQL
    DECLARE @SQL2 Nvarchar(MAX)
    SET @SQL2 = 'SELECT nomGroupe as [Noms des groupes jouant'+ @titre + ']
            from Oeuvres O 
            join Jouer J on O.idOeuvre=J.idOeuvre
            join Groupes G on J.idGroupe=G.idGroupe
                where nomOeuvre = ' + @titre 
     
    -- Execution de la requête stockée
    EXEC sp_executeSQL @SQL2


    Voilà l'erreur :
    Msg 319, Level 15, State 1, Line 5
    Incorrect syntax near the keyword 'with'. If this statement is a common table expression or an xmlnamespaces clause, the previous statement must be terminated with a semicolon.


    Peux-tu m'éclairer?

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

Discussions similaires

  1. Inclure une variable dans la ligne de commande system()
    Par todovski dans le forum Débuter
    Réponses: 1
    Dernier message: 12/02/2009, 15h42
  2. Inclure une variable dans une requête SQL
    Par Mvu dans le forum ASP.NET
    Réponses: 2
    Dernier message: 07/07/2008, 09h52
  3. Inclure une variable dans requête SQL
    Par Mvu dans le forum Visual Studio
    Réponses: 2
    Dernier message: 04/07/2008, 09h13
  4. Inclure une variable dans save
    Par Death83 dans le forum MATLAB
    Réponses: 2
    Dernier message: 25/01/2007, 14h31
  5. Peut-on inclure une variable dans une chaîne SQL ?
    Par beegees dans le forum Langage SQL
    Réponses: 2
    Dernier message: 29/03/2006, 11h31

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