[Dica] Encontrar tabela que possui os campos x...
Enviado: Ter, 21 Jun 2005 11:00 am
Esses dias eu tive que descobrir o nome de uma tabela. Eu só sabia o nome de 2 campos dessa tabela. Daí, fiz esse SQL pra descobrir isso.
O sql abaixo busca o nome das tabelas que tem os campos informados na cláusula Exists.
Exemplo:
O sql abaixo busca o nome das tabelas que tem os campos informados na cláusula Exists.
SELECT A.TABLE_NAME
FROM USER_TABLES A
WHERE EXISTS (SELECT 1 FROM USER_TAB_COLUMNS
WHERE TABLE_NAME=A.TABLE_NAME AND COLUMN_NAME = 'seu_campo'
)
AND EXISTS (SELECT 1 FROM USER_TAB_COLUMNS
WHERE TABLE_NAME=A.TABLE_NAME AND COLUMN_NAME = 'seu_campo'
)
SQL> SELECT A.TABLE_NAME
2 FROM USER_TABLES A
3 WHERE EXISTS (SELECT 1 FROM USER_TAB_COLUMNS
4 WHERE TABLE_NAME=A.TABLE_NAME AND COLUMN_NAME = 'PC_TAXA'
5 )
6 AND EXISTS (SELECT 1 FROM USER_TAB_COLUMNS
7 WHERE TABLE_NAME=A.TABLE_NAME AND COLUMN_NAME = 'FL_TIPO_TAXA'
8 )
9 AND EXISTS (SELECT 1 FROM USER_TAB_COLUMNS
10 WHERE TABLE_NAME=A.TABLE_NAME AND COLUMN_NAME LIKE '%UF%'
11 )
12 /
TABLE_NAME
------------------------------
TB_TARIFA_RCTRC
TB_TARIFA_RR
TB_TAXA_ESPECIAL
3 rows selected.
SQL>