Anuncios

jueves, 12 de abril de 2012

Como saber el número de filas de todas las tablas SQL Server


Para saber el número de filas de una tabla se usa lo siguiente:

select count(*) from tutabla

Ahora, si deseamos saber el número de filas de todas las tablas de una base de datos, podemos usar el siguiente procedimiento almacenado creado:


CREATE PROCEDURE dbo.listTableRowCounts 
AS 
BEGIN 
    SET NOCOUNT ON 

    DECLARE @SQL VARCHAR(255) 
    SET @SQL = 'DBCC UPDATEUSAGE (' + DB_NAME() + ')' 
    EXEC(@SQL) 

    CREATE TABLE #foo 
    ( 
        tablename VARCHAR(255), 
        rc INT 
    ) 
     
    INSERT #foo 
        EXEC sp_msForEachTable 
            'SELECT PARSENAME(''?'', 1), 
            COUNT(*) FROM ?' 

    SELECT tablename, rc 
        FROM #foo 
        ORDER BY rc DESC 

    --DROP TABLE #foo 
END


El código mostrado hace un select count en cada tabla usando el procedimiento sp_msForeachTable.
Para ejecutar el procedimiento almacenado use la siguiente sentencia:


exec dbo.listTableRowCounts 




Fuente
http://sqlserver2000.databases.aspfaq.com/how-do-i-get-a-list-of-sql-server-tables-and-their-row-counts.html

People who read this post also read :