• This is a possible solution. I am not sure how to avoid it, but I'm sure someone will post another solution that doesn't go RBAR which would definitely be preferable.

    CREATE TABLE #TableNames (TableName VARCHAR(100))

    CREATE TABLE #RowCounts (TableName VARCHAR(100), NumRows INTEGER)

    DECLARE @vSELECT VARCHAR(1000)

    DECLARE @vFROM VARCHAR(1000)

    DECLARE @vWHERE VARCHAR(1000)

    DECLARE @vINSERT VARCHAR(1000)

    DECLARE @vTableName VARCHAR(100)

    --get all of the tables with a column named RECORD_ModificationDate

    INSERT INTO #TableNames(TableName)

    SELECT SO.Name

    FROM sysobjects SO

    WHERE Xtype='U' AND EXISTS( SELECT TOP 1 SC.Name

    FROM syscolumns SC

    WHERE SC.id=SO.id AND SC.Name='RECORD_ModificationDate')

    --the insert and where clauses won't changed based

    SET @vINSERT = 'INSERT INTO #RowCounts(TableName, NumRows) '

    SET @vWHERE = 'WHERE RECORD_ModificationDate > CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME)'

    WHILE EXISTS(SELECT TOP 1 * FROM #TableNames)

    BEGIN

    --get the name of the first table that has not already been counted

    SET @vTableName = (SELECT TOP 1 TableName FROM #TableNames)

    --update select and from statements

    SET @vSELECT = 'SELECT '''+@vTableName+''' AS TableName, COUNT(1) AS NumRows '

    SET @vFROM = 'FROM '+@vTableName+' '

    --execute the combined insert/select/from/where statements

    EXEC (@vINSERT+@vSELECT+@vFROM+@vWHERE)

    --remove the table name from the table to signify it has already been counted

    DELETE FROM #TableNames WHERE TableName=@vTableName

    END

    --return the counts

    SELECT * FROM #RowCounts

    --cleanup after yourself

    DROP TABLE #TableNames

    DROP TABLE #RowCounts

    *edit* I forgot to close the parentheses on the exec