Buscar nombre de columna en todas las tablas de Oracle

En ocasiones es bastante útil buscar el nombre de alguna columna conocida de una tabla en todas las tablas de un esquema de base de datos de Oracle. Sobre todo cuando tienes cientos de tablas, y si los nombres son consistentes es fácil buscar en que otras tablas se localiza dicho nombre (campo), más allá de que SQLDeveloper trae una opción para mostrar el diagrama de las tablas y sus relaciones. Así que si se quiere buscar un campo en particular, escribimos:

SELECT table_name from all_tab_columns where column_name = 'USERID';
# también podríamos usar  where column_name like '%USERID%';

De esa forma nos va a devolver el listado de tablas que tengan esa columna, es muy útil cuando no se recuerda o no se conoce la estructura de toda la DB. Otra sentencia útil que utilizo para mostrar la descripción (estructura) de una  tabla:

SELECT column_name, data_type, data_length, data_precision, data_scale, nullable
 FROM all_tab_columns WHERE table_name = 'NOMBRE_TABLA'

Eso si se utiliza desde un cliente externo a SQLDeveloper o sqlplus, porque de otro modo se puede utilizar directo DESC NOMBRE_TABLA, tal cual en otros RDBM, como MySQL.

+ fotos / videos

Almacenado en Oracle

por Jorge Martínez Mauricio :)

blog / fotos / archivo

Buscar nombre de columna en todas las tablas de Oracle

tar.mx es un blog sobre fotografía, tecnología y otras chunches

modificado jueves 8 de julio de 2021, 11:19