Une procédure pour trouver une table à travers toutes les bases

Voici une procédure permettant de rechercher toutes les bases contenant une table de nom @SCH.@TAB :


DECLARE @SCH NVARCHAR(128), @TAB  NVARCHAR(128);
 
SELECT @SCH = '???' , @TAB = '???';
 
DECLARE @SQL NVARCHAR(max)
SET @SQL = '';
SELECT @SQL = @SQL + 'SELECT * FROM '
       + name + '.INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = ''' + COALESCE(@SCH, 'dbo') + '''  AND TABLE_NAME = ''' + @TAB +''';'
FROM   sys.databases;
 
EXEC (@SQL);

***
Frédéric BROUARD – SQLpro – MVP SQL Server
Spécialiste SQL/BD modélisation de données
SQL & SGBDR http://sqlpro.developpez.com/
Expert SQL Server : http://www.sqlspot.com
audits – optimisation – tuning – formation

Laisser un commentaire