Sign in to follow this  
jothaz

Lista Todas As Tabelas E Contar Quantidade Registros

Recommended Posts

Camaradas,

A procedure apresentada a seguir lista todas a tabelas do banco de dados (utilizando SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE') e conta a respectiva quantidade de registros de cada um.

--
CREATE PROC CONTAR_REGISTRO_TODAS_TABELAS
AS
    DECLARE @NOME_DA_TABELA VARCHAR(40), @COMANDO VARCHAR(4000)
    
    CREATE TABLE #QTDE_REGISTROS_TABELAS (NOME_TABELA VARCHAR(200), TOTAL_REGISTROS INT) 
    
    DECLARE MEU_CURSOR CURSOR FOR
    --
    --Seleciona todas as tabelas do BD
    SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'
    OPEN MEU_CURSOR
    FETCH NEXT FROM MEU_CURSOR
    INTO @NOME_DA_TABELA
    
    WHILE @@FETCH_STATUS = 0
    BEGIN
        --
        --Monta comando dinâmico para contar o número de registros e 
        --insere em tabela 
        SET @COMANDO = 'INSERT INTO #QTDE_REGISTROS_TABELAS (NOME_TABELA, TOTAL_REGISTROS) SELECT ''' +   @NOME_DA_TABELA + ''', COUNT(*)  FROM ' +  @NOME_DA_TABELA
        --PRINT @COMANDO
        EXEC(@COMANDO)
    
        FETCH NEXT FROM MEU_CURSOR
        INTO @NOME_DA_TABELA
    END
    CLOSE MEU_CURSOR
    DEALLOCATE MEU_CURSOR
    --
    SELECT     * FROM #QTDE_REGISTROS_TABELAS
    DROP     TABLE #QTDE_REGISTROS_TABELAS
    --
GO
--

Considerações:

  1. Este é um emplo simples, caso seja necessário pode-ser passar um parâmetro com o nome da tabela ou mesmo criar um função.
Fonte/Autor/link

AUTOR: "Jothaz"

Dúvidas, criticas, contribuições, correções e adições serão bem vindas.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this