Como podemos saber quantas tabelas temos em um determinado banco de dados e quantas linhas cada uma das tabelas listada possuem, pois bem, nesse post será demonstrado como fazer.
No exemplo demonstrado será utilizado o banco de dados AdventureWorks2012.
[sourcecode language=”sql”]
SELECT SCHEMA_NAME(T.SCHEMA_ID) + ‘.’ + T.NAME AS NOMETABELA,
P.ROWS AS QTDELINHAS
FROM SYS.TABLES T
INNER JOIN SYS.PARTITIONS P ON (P.OBJECT_ID = T.OBJECT_ID AND INDEX_ID < 2)
ORDER BY QTDELINHAS DESC
[/sourcecode]
Entendendo o código acima.
SCHEMA_NAME: O ‘SCHEMA_NAME‘ retorna o esquema que o objeto pertence, percebam que passamos por parâmetro para a função ‘SCHEMA_NAME‘ o ‘ID‘ do esquema.
SYS.TABLES: No objeto ‘TABLES‘ possuem todas as tabelas de seu banco de dados.
SYS.PARTITIONS: No objeto ‘PARTITIONS‘ possui a quantidade de linhas que tabela contém.
O resultado do select será todas as tabelas de seu banco de dados com a quantidade de linhas que cada uma delas possui.
Muito bom! já estava procurando faz tempo!