Me preguntaba si alguien podría ayudarme a crear un ciclo while para iterar a través de varias bases de datos para obtener datos de una tabla de dos columnas. esto es lo he hecho hasta ahora. nada funciona porque no sé cómo hacer que el trabajo de selección comunicado a través de cada base de datos con respecto a la mesa que estoy interrogación por cada base de datos (dbo.tbldoc)While Loop para iterar a través de bases de datos
DECLARE @Loop int
DECLARE @DBName varchar(300)
DECLARE @SQL varchar(max)
DECLARE @tableName VARCHAR(255)
SET @Loop = 1
SET @DBName = ''
WHILE @Loop = 1
BEGIN
SELECT [name] FROM sys.databases
WHERE [name] like 'z%' and create_date between '2010-10-17' and '2011-01-15'
ORDER BY [name]
SET @Loop = @@ROWCOUNT
IF @Loop = 0
BREAK
SET @SQL = ('USE ['+ @DBNAME +']')
IF EXISTS(SELECT [name] FROM sys.tables WHERE name != 'dbo.tbldoc')
BEGIN
SELECT SUM(PGCOUNT), CREATED FROM **dbo.tbldoc**
END
ELSE
--BEGIN
PRINT 'ErrorLog'
END
¿Esto no trae todas las bases de datos? Solo estoy consultando bases de datos que comienzan con 'Z' – Jeff
Sí, lo es, pero debe insertar los datos como resultado el código superior en una tabla y luego el filtro por nombre de db. – Marian
¿cómo funciona este procedimiento? – Jeff