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 :

Utiliser une variable à la place du nom de table


Sujet :

Développement SQL Server

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 139
    Par défaut Utiliser une variable à la place du nom de table
    Bonjour,

    Je souhaite créer une procédure stockée sous SQL Server 2005.
    Ma question est la suivante : Peut-on utiliser une variable pour désigner la table à interroger par la requête SELECT ?

    Ceci afin de pouvoir executer une requête de type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT *
    FROM @table
    WHERE [City] = 'San Antonio'
    Exemple de contenu de la variable @table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @table = '[AdventureWorks].[Person].[Address]'
    Merci d'avance pour vos réponses.
    David

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 997
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 997
    Billets dans le blog
    6
    Par défaut
    Cela n'est possible qu'avec des requêtes SQL construites dynamiquement. Un nom d'objet (colonne, table...) ne peut être un paramètre. Seule une valeur peut être paramétrée.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 139
    Par défaut [Résolu] Utiliser une variable à la place du nom de table
    Pour ceux que ca interesse, j'ai trouvé un moyen de contournement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    DECLARE @table VARCHAR(100)
    DECLARE @param VARCHAR(100)
    DECLARE @query VARCDHAR(100)
     
    SET @table = '[AdventureWorks].[Person].[Address]'
    SET @param = 'San Antonio'
    SET @query = 'SELECT * FROM '+@table+' WHERE [city] = '''+@param+''''
     
    EXEC (@query)
    GO

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Par défaut
    C'est précisément ce que t'explique SQLPro lorsqu'il parle de requêtes construites dynamiquement.

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

Discussions similaires

  1. Procédure avec variable à la place du nom des tables
    Par alex_972 dans le forum PL/SQL
    Réponses: 7
    Dernier message: 28/09/2011, 09h59
  2. Utiliser une variable pour stocker les noms d'objets.
    Par en_gel_ho dans le forum Access
    Réponses: 4
    Dernier message: 03/01/2007, 16h44
  3. Utiliser une variable comme nom de fichier
    Par lo00_ dans le forum MATLAB
    Réponses: 1
    Dernier message: 28/06/2006, 13h57
  4. [curseurs] utiliser une variable comme nom de champ
    Par Christian31 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/09/2005, 14h12
  5. [XSL] utiliser une variable pour nom d'élément
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 13
    Dernier message: 07/09/2004, 13h58

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