Boa tarde pessoal,
alguém tem ou sabe alguma query para contar as linhas de todas as tabelas de um banco oracle, tentei usar o campo num_rows da tabela all_tables mas os valores não estão atualizados e eu não tenho permissão para atualizar. Preciso fazer um count(*) em todas as tabelas ao mesmo tempo.
alguém sabe alguma forma ?
Valeu.
Contar linhas
- adrianoturbo
- Moderador
- Mensagens: 393
- Registrado em: Qui, 20 Mar 2008 4:09 pm
- Localização: Brasília
Adriano Alves
---Para cada problema dificil existe uma solução simples.----
---Para cada problema dificil existe uma solução simples.----
Brother ,faça uma consulta dinâmica criando o schema abaixo no seu banco :
Agora basta rodar o select abaixo para obter o total de todas as linhas de todas as tabelas do seu banco .
Bom é isso,espero ter ajudado.
Boa sorte.
DECLARE
val NUMBER;
BEGIN
FOR I IN (SELECT TABLE_NAME FROM USER_TABLES) LOOP
EXECUTE IMMEDIATE 'SELECT count(*) FROM ' || i.table_name INTO val;
DBMS_OUTPUT.PUT_LINE(i.table_name || ' ==> ' || val );
END LOOP;
END;
select sum (linhas)total_linhas from
(select
table_name,
num_rows linhas
from
dba_tables)
Boa sorte.
- vitellozzi
- Rank: Programador Sênior
- Mensagens: 50
- Registrado em: Qua, 15 Set 2010 9:53 am
- Localização: Itatiba
Olá seria algo simples assim :
Sem mais,
SELECT TABLE_NAME, NUM_ROWS FROM USER_TABLES WHERE NUM_ROWS > 0;
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes