Here's one without a cursor:SET NOCOUNT ONCREATE TABLE count_these_tables(TableID INT,Item SYSNAME)CREATE TABLE Counts(Item SYSNAME,NumOfRows INT)INSERT INTO count_these_tablesSELECT 1, 'ASSETS'UNION ALLSELECT 2, 'GT_PARM_VAL'UNION ALLSELECT 3, 'MAINT_HISTORY'DECLARE @id INTDECLARE @maxid INTDECLARE @SQL VARCHAR(7000)SELECT @id = MIN(TableID), @maxid = MAX(TableID)FROM count_these_tablesWHILE @id <= @maxidBEGIN SELECT @SQL = 'INSERT INTO Counts SELECT ''' + item + ''', COUNT(*) FROM ' + item FROM count_these_tables WHERE TableId = @id EXEC (@SQL) DELETE FROM count_these_tables WHERE TableId = @id SELECT @id = MIN(TableID) FROM count_these_tablesENDSELECT Item, NumOfRowsFROM CountsDROP TABLE count_these_tablesDROP TABLE Counts
I used three tables to count that I already had in a user database.Tara