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 :

Passage de paramètre pour la clause USE


Sujet :

MS SQL Server

  1. #1
    Membre éclairé
    Avatar de Didier L
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2004
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 503
    Points : 806
    Points
    806
    Par défaut Passage de paramètre pour la clause USE
    Bonsoir,

    Est-il possible d'utiliser autre chose que le nom d'une base de donnée pour la clause USE ?

    Je m'explique:

    Le but est de créer une base de donnée avec des traitements sous forme de procédures stockées et des tables temporaires. Cette base serai restaurée dans différents contextes chez des clients et elle doit pouvoir travailler avec les bases (identiques) des clients mais qui n'on pas forcément le même nom.

    L'idée donc serait de pouvoir passer en paramètre le nom de la base de donnée du client afin d'utiliser en début de chaque PS une clause USE afin de pouvoir travailler sur les deux bases (celle du client et notre base de travail).

    Je voulais faire quelquechose du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    CREATE PROCEDURE MaPS
       @NomBase varchar(10)
     AS
    USE @NomBase
    ....
    ....
    Merci d'avance pour vos infos et vos remarques

  2. #2
    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 : 42
    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
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Je pense que pour cela tu es obligé d'utiliser du code SQL dynamique dans le style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    CREATE PROCEDURE MaPS
       @NomBase sysname
    AS
    BEGIN
    	DECLARE @SQL VARCHAR(16);
    	SET @SQL = 'USE ' + @NomBase;
    	EXEC (@SQL);
    	...
    END
    Le problème avec ce genre de solutions c'est que tu es obligé de mettre tout le code de la procédure dans la variable @SQL ...

    Je pense aussi que tu dois pouvoir scripter le code pour l'adapter en fonction de la BD ...

  3. #3
    Membre éclairé
    Avatar de Didier L
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2004
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 503
    Points : 806
    Points
    806
    Par défaut
    Merci pour cette syntaxe qui marche très bien.

    Ceci étant elle est un peu lourde effectivement si les PS sont importantes.

    Si quelqu'un à une autre idée

    Merci d'avance

Discussions similaires

  1. Passage de paramètre pour procédure stockée
    Par dumser1 dans le forum Oracle
    Réponses: 10
    Dernier message: 08/08/2007, 19h24
  2. Passage de paramètres pour Reporting services
    Par Jé@Zoom dans le forum ASP.NET
    Réponses: 6
    Dernier message: 27/04/2007, 16h58
  3. passage de paramètre pour actualiser
    Par sissi25 dans le forum ASP
    Réponses: 30
    Dernier message: 12/07/2006, 15h04
  4. pb de passage de paramètre pour ActiveX
    Par cedyouyou dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 21/12/2005, 14h30
  5. Réponses: 7
    Dernier message: 10/02/2005, 13h44

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