Solo adecua el SELECT a tus necesidades, cualquier duda, pregunta
Código SQL:
Ver original-- Declaro una variable tabla
DECLARE @Tablas AS TABLE (Id INT IDENTITY(1,1), name VARCHAR(50), Records INT)
DECLARE @Record INT
DECLARE @IntTable sysname
DECLARE @OutRecords INT
DECLARE @SQLString NVARCHAR(500)
DECLARE @ParmDefinition NVARCHAR(500)
SET @Record = 1
-- Inserto las tablas en custion
INSERT INTO @Tablas (name)
SELECT TABLE_NAME AS Tablas
FROM INFORMATION_SCHEMA.TABLES
-- Actualizo los registros de esas tablas
WHILE @Record <= (SELECT COUNT(*) FROM @Tablas)
BEGIN
SELECT @IntTable = name FROM @Tablas WHERE Id = @Record
/* Build the SQL string once.*/
SET @SQLString = N'SELECT @Records = COUNT(*) FROM ' + @IntTable
SET @ParmDefinition = N'@Records int output'
EXECUTE sp_executesql @SQLString, @ParmDefinition,
@Records = @OutRecords OUTPUT
-- Actualizo los registros de mi variable tabla
UPDATE @Tablas SET Records = @OutRecords WHERE Id = @Record
SET @Record = @Record + 1
END
-- Muestro lo que ha quedado al final
SELECT * FROM @Tablas