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 habitué
    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
    Points : 137
    Points
    137
    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 901
    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 901
    Points : 53 143
    Points
    53 143
    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 +

  3. #3
    Membre habitué
    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
    Points : 137
    Points
    137
    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 éprouvé
    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
    Points : 965
    Points
    965
    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