Uma rapida de BD

9 respostas
felipe_thrash

pessoal,

ja procurei, mas sem sucesso…

como faço no BD (Oracle) para procurar o nome de uma coluna com um nome… em todas as tabelas ?

tipo: eu quero achar uma coluna ‘%FINANCIADO’ no database todo!.. como faço um select desses !? achar uma coluna dessas em qualquer tabela

obrigado desde ja!

9 Respostas

nbluis
SELECT table_name FROM user_tab_columns WHERE column_name = Upper('NOME_DA_COLUNA')

Pega todas as tabelas do usuário.
Se precisa de mais de um usuário, dai dá pra usar as views com prefixo all e dba.

http://dbis.ucdavis.edu/courses/sqltutorial/chap3-2.pdf

felipe_thrash

sim sim! :smiley:

mas, como faço pra saber, quando tb não conheço o nome da coluna ? estou chutando

eu tento com o ‘%blablabla’ mas acho q nao é isso…
testei com colunas q existem e nada… desculpe a minha IGnorancia

como é ?

nbluis

Como assim não sabe o nome da coluna ?

O que você precisa pesquisar ?

felipe_thrash

sente so, eu não conheço o banco

e preciso achar uma coluna “financiado” ou algo do tipo, e é um mistério isso… era uma vez um dba muito louco aki hehehe e é uma loucura + de 200 tabelas

por isso to tentando achar um nome parecido

:roll:

nbluis

cara… procura como eu disse

SELECT table_name FROM user_tab_columns WHERE column_name = Upper('FINANCIADO')

Assim ele vai te dizer todas as tabelas que tem uma coluna com o nome FINANCIADO

O

Meus 2 cents:

SELECT table_name FROM all_tab_columns WHERE column_name LIKE '%FINANCIADO%'

ou se não forem tantas tabelas

SELECT table_name, column_name FROM all_tab_columns
ramilani12

Enjoy:

Select * from ALL_TAB_COLUMNS , all_objects  
 where all_objects.OBJECT_NAME = ALL_TAB_COLUMNS.TABLE_NAME AND  ALL_TAB_COLUMNS.COLUMN_NAME LIKE '%FINANCIADO'
 AND ALL_OBJECTS.OBJECT_TYPE = 'TABLE'

Da para melhorar
7 minutos antes de começar o carnaval da um desconto …

lucao

nbluis:
cara… procura como eu disse

SELECT table_name FROM user_tab_columns WHERE column_name = Upper('FINANCIADO')

Assim ele vai te dizer todas as tabelas que tem uma coluna com o nome FINANCIADO

SELECT table_name FROM user_tab_columns WHERE column_name like '%FIN%'

Eae vai substituindo o FIN por vários nomes que você acredite ter haver com o que você procura.

P.S. no caso do código do nbluis, o upper está no lugar errado, deveria estar no column_name. Neste caso o upper seria dispensável, já que o nome de colunas, bem como de todos os objetos do banco de dados oracle são maiúsculos.

Só um lembrete, user_tab_columns vai mostrar as colunas das tabelas que o seu usuário criou, caso deseje ver todas as colunas de tabelas que o seu usuário possui acesso use all_tab_columns, se desejar ver todas que o banco tiver use dba_tab_columns mas para isso é necessário que você tenha a role dba.

Espero ter ajudado.

felipe_thrash

é isso aí mesmo! :smiley:

ela tava numa tabela com um nome muito tosco nunca imaginaria!

obrigado a todos!

:wink: bom feriado!

Criado 1 de fevereiro de 2008
Ultima resposta 2 de fev. de 2008
Respostas 9
Participantes 5