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:
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.
Pergunta
jothaz
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.
Considerações:
- 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/linkAUTOR: "Jothaz"
Dúvidas, criticas, contribuições, correções e adições serão bem vindas.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.