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:
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:
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:
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 :ccool: