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 :

Base de donnée en paramètre


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 30
    Par défaut Base de donnée en paramètre
    Salut,

    J’aurais besoin de pouvoir mettre des noms de base de données en paramètre pour une procédure SQL, un truc du genre :

    Si @param = 'toto' alors @DATABASE1 = 'database_A', @DATABASE2 = 'database_B'
    Sinon @DATABASE1 = 'database_C', @DATABASE2 = 'database_C'

    Ensuite je ferai des requêtes du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select * from @DATABASE1.nom_de_ma_table
    Savez vous si c'est possible ?

  2. #2
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    bonjour,

    Vous devez encapsuler votre requête avec l'instruction EXEC par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EXEC('Select * from ' + @DATABASE1 + ' .dbo.nom_de_ma_table');
    ++

  3. #3
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 30
    Par défaut
    Ah merci en effet ca fonctionne.

    Malheureusement en faisant ca je perd toute la coloration syntaxique de ma requête. Y a-til un moyen de garder une requête "lisible" en mettant la base en paramètre ?

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    Malheureusement cela n'est pas possible, car c'est une chaîne de caractères que vous passez en paramètre à EXEC, donc elle conserve la coloration syntaxique des chaînes de caractère

    @++

  5. #5
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 30
    Par défaut
    OK.

    On m'a également parlé de SQL dynamique, mais je n'y connais rien (pour le moment), et j'ai l'impression que ca augmentera pas beaucoup la lisibilité de la requête au final.

  6. #6
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2009
    Messages : 623
    Par défaut
    Citation Envoyé par DrizztDo Voir le message
    OK.

    On m'a également parlé de SQL dynamique, mais je n'y connais rien (pour le moment), et j'ai l'impression que ca augmentera pas beaucoup la lisibilité de la requête au final.
    Le SQL dynamique est la solution proposée ci dessus. http://blog.developpez.com/ylarvor/p...us-sql-server/

Discussions similaires

  1. [Python 2.7] Base de données - INSERT paramètres variables
    Par kituse dans le forum Général Python
    Réponses: 3
    Dernier message: 25/05/2014, 16h28
  2. Réponses: 3
    Dernier message: 13/04/2011, 10h50
  3. Base de données en paramètre
    Par nico.cab dans le forum Développement
    Réponses: 7
    Dernier message: 17/09/2010, 16h04
  4. [TRANSACT] Base de données comme paramètre d'un curseur
    Par |DUCATI| DesMo dans le forum Développement
    Réponses: 5
    Dernier message: 13/02/2009, 08h12
  5. requête SQL avec paramètre en vb avec base de donnée SQL srv
    Par dialydany dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 01/02/2005, 10h33

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