Contando registros

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
Claudio
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 1
Registrado em: Qua, 06 Set 2017 4:48 pm

Estou fazendo um trabalho para uma grande empresa de onibus.
A empresa está se separando os grupos e estou fazendo um trabalho de saneamento no grupo.
Este trabalho me encontro na metade.
Eu agora preciso fazer um levantamento das tabelas que tenham ainda registros destas empresas que estou deletando.

Eu tenho uma tabela com todos nomes das tabelas que tem registro destas empresas que preciso excluir, agora eu preciso fazer um check list em cada tabela registrada no banco fazendo a contagem dos registros baseados nas empresas que tenho que excluir.

Já tentei varias soluçoes mas não consigo encontrar uma saida viavel.
alguém tem alguma sugestao que possa me ajudar.

Desde já agradeço antecipado.
spernega
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 232
Registrado em: Ter, 19 Jun 2007 2:12 pm
Localização: São Paulo - SP

Bom dia Claudio,

Veja se isso ajuda, é um pouco pesado

declare
cursor c is
select c.table_name, c.column_name
from user_tab_Columns c, user_objects u
where u.object_type = 'TABLE' -- para não buscar visões
and c.table_name = u.object_name
and c.column_name = 'COD_UNIDADE'; -- c.column_name like '%COD_UNIDADE%')
c_r c%rowtype;
--
v_qt_regi number := 0;
v_cod_unidade varchar2(3) := 1;
begin
--
open c;
loop
fetch c into c_r;
exit when c%notfound;
--
v_qt_regi := 0;
execute immediate 'select count(1) from '||c_r.table_name||' where '||c_r.column_name||' = '||v_cod_unidade into v_qt_regi;
dbms_output.put_line('Tabela '||c_r.table_name||'.'||c_r.column_name||' = '||to_Char(v_qt_regi));
--
end loop;
close c;
--
End;
/
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 6 visitantes