yucky cursors ... SQL Server 2000 version .. .could be changed easily to use temp table instead... SET NOCOUNT ON DECLARE @tables TABLE (TABLE_NAME VARCHAR(256), ROW_COUNT BIGINT) DECLARE @row_count BIGINT DECLARE @table VARCHAR(256) DECLARE @sql NVARCHAR(4000) INSERT INTO @tables (TABLE_NAME, ROW_COUNT) SELECT TABLE_NAME, -1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' WHILE (SELECT COUNT(*) FROM @tables WHERE ROW_COUNT = -1) > 0 BEGIN SELECT @table = TABLE_NAME FROM @tables WHERE ROW_COUNT = -1 SET @sql = 'SELECT @row_count = COUNT_BIG(*) FROM ' + @table EXEC sp_executesql @sql, N'@row_count BIGINT OUTPUT', @row_count OUTPUT UPDATE @tables SET ROW_COUNT = @row_count WHERE TABLE_NAME = @table END SELECT * FROM @tables
- Onamuji