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 :

Paramètre d'une Stored Procédure dans un USE ou FROM


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2009
    Messages : 2
    Par défaut Paramètre d'une Stored Procédure dans un USE ou FROM
    Bonjour ,

    je suis très novice en SQL, je m'en sert essentiellement pour mes programme de c#, j'utilise Sql server 2008.

    J'ai donc une Procédure qui reçois en paramètres le Nom d'une base de donnée, et à partir de ce nom j'aimerais tout simplement afficher les tables de cette base de donnée, donc j'ai penser à deux solution, mais j'ai l'impression que les paramètres ne peuvent s'utiliser à ces endroit là.


    Solution 1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ALTER PROC selectTable
    @database varchar(20)
     
    AS
     
    BEGIN
    SELECT name FROM @database.Sys.Tables  -- SQL n'accepte pas cette syntaxe
     
    END
    Solution 2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ALTER PROC selectTable2
    @database varchar(20)
     
    AS
     
    BEGIN
    use @database -- SQL n'accepte pas cette syntaxe
    	SELECT name FROM Sys.Tables
     
    END
    En fait dans mon programme principale j'avais un appel à cette Stored Procédure là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE PROC selectDatabase
    AS
    SELECT NAME 
    from master..sysdatabases 
    WHERE 
    NAME NOT IN ('MASTER','TEMPDB','MODEL','MSDB','REPORTSERVER', 'REPORTSERVERTEMPdb')
    Et j'aimerai envoyer le résultat en paramètre à l'autre Stored Procédure, donc dans mon programme principale, stocker le résultat (la basse de donnée choisie) dans une variable, cette même variable est envoyé à la Stored Procédure selectTable ou selectTable2, mais je n'arrive pas à gérer le paramètre @database comme il le faudrait.

    Merci pour votre aide

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 291
    Par défaut
    De mémoire, il faut faire un truc comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SET @SQL = 'SELECT name FROM ' + @DATABASE +'.Sys.TABLES' ;
    EXEC @SQL ;

  3. #3
    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,

    Effectivement le code d'Antoun est correct, si vous êtes sous SQL Server 2005 ou 2008.
    Si vous êtes sous SQL Server 2000 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SET @SQL = 'SELECT name FROM ' + @DATABASE +'dbo.systables' ;
    EXEC @SQL ;

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2009
    Messages : 2
    Par défaut
    Merci beaucoup je test sa demain matin

Discussions similaires

  1. [AC-2007] SQL paramétrée avec une variable déclarée dans la procédure
    Par gentoo dans le forum VBA Access
    Réponses: 3
    Dernier message: 10/06/2014, 17h52
  2. Paramètre ayant une valeur différente dans un état
    Par lozeba dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 26/04/2010, 14h34
  3. Requête paramétrée depuis une liste déroulante dans un formulaire
    Par coyote06 dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 14/01/2010, 12h29
  4. Réponses: 0
    Dernier message: 23/12/2009, 12h38
  5. Réponses: 1
    Dernier message: 01/09/2006, 10h08

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