mercredi 16 juin 2010

SQL / oracle : retrouver une colonne ou une table dans un schema

Voici, une requête fort utile lorsque l'on recherche une colonne et que l'on ne sait pas vraiment ou elle se trouve, et son nom :

Dans ce cas, on peut utiliser les tables system .. a condition d'avoir les droits adéquats ... Une série de table commençant par dba_* ... (ex: dba_objects)

Sinon, il existe les mêmes tables avec un filtre sur le owner et qui sont préfixée par user_* (ex: user_tab_cols)



select * from dba_tab_cols where owner = 'MonUser' and UPPER(column_name) like '%TARE%'


ou encore :


select * from user_tab_cols;


Il est aussi possible de retrouver une table en utilisant une requête du type :
Dans l'exemple, on recherche des tables contenant le mot ANO ...


select * from dba_all_tables where UPPER(table_name) like '%ANO%'

Aucun commentaire:

Enregistrer un commentaire