Oracle - Query en todas las tablas

 
Vista:

Query en todas las tablas

Publicado por Albert Huguet (5 intervenciones) el 14/12/2007 14:11:08
Hola, ¿que tal?

alguien sabe alguna manera de recorrer todas las tablas de la BD, en busca de aquellas tablas donde hay un campo con un valor determinado? para entendernos necesito algo así:

select *
from "todas las tablas"
where campo = 'valor'

saludos y gracias :)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Query en todas las tablas

Publicado por Albert Huguet (5 intervenciones) el 14/12/2007 14:29:33
con decirme que no tienes ni idea me bastava. He encontrado procedimientos que lo hacen para SQLserver pero no para Oracle.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Query en todas las tablas

Publicado por Hernan  (3 intervenciones) el 14/12/2007 19:47:33
Me parece que lo que queres hacer es lo siguiente

select
TABLE_NAME,
COLUMN_NAME
from all_tab_columns
where owner = :USUARIO
and table_name in
(
select table_name
FROM USER_ALL_TABLES
)
order by TABLE_NAME, COLUMN_NAME
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Query en todas las tablas

Publicado por Albert Huguet (5 intervenciones) el 17/12/2007 14:53:10
que fácil que es hablar sin tener ni idea, a ver si otra vez te callas la boca...

declare
v_cnt integer;
v_sql varchar2(2000);
begin
for v_i in (select table_name from user_tab_columns where column_name = 'SETID' and table_name like 'PS%')
loop
v_sql := 'select count(*) from ' || v_i.table_name || ' where SETID = ''COMUN''';
execute immediate v_sql into v_cnt;
dbms_output.put_line(v_i.table_name || ': ' || v_cnt);
end loop;
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar