Bonne rencontre
Voici la situation, j’ai X bases de données de la même structure. Via une procédure stockée, j’aimerais interroger n’importe quelle base de données de mon choix.
Pour le moment, j’ai fait ceci qui fonctionne mais je me demande si c’est la bonne solution et surtout s’il n’y a pas plus propre. C'est juste histoire de ne pas me faire frapper par un DBA s'il me croise dans la rue.
J’ai crée une PS dans la master (ce n'est probablement pas propre... Dans mon cas, j'ai accès à la master mais dans une autre boite ça ne serait pas le cas) avec le code suivant :
D’avance, merci pour vos conseils.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 USE [master] GO /****** Object: StoredProcedure [dbo].[test] Script Date: 07/07/2011 17:46:32 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[test] -- Add the parameters for the stored procedure here @dbname varchar(30) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; DECLARE @monSql char(100); Set @monSql = 'SELECT * FROM ' + @dbname + '.dbo.Clients' exec (@monSql) -- Insert statements for procedure here END
Raphaël.
Partager