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 :
Solution 2 :
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
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
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
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.
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')
Merci pour votre aide![]()
Partager