En esta oportunidad te dejaré con una consulta SQL que se usa en auditorías, sin embargo son este tipo de consultas las que te pueden ayudar mucho si estás trabajando con una base de datos existente y que no conoces muy bien, además saber este tipo de querys marcan la diferencia entre un desarrollador bueno y uno excepcional.
Te pongo el caso: estás depurando código y tras debuggear un rato llegas a encontrarte con una columna de la base de datos, sin embargo no sabes a qué tabla pertenece y quieres encontrarla pronto sin tener que estar mucho tiempo buscando en el código ni buscándola manualmente en la base de datos.
A veces también pasa que no recordamos exactamente como se llamaba una columna entonces este query también puede ayudarte para ello, lo único que tendrás que saber es el nombre de la base de datos, de hallar la tabla se encarga este query.
Aquí te dejo el query SQL:
SELECT
table_name 'TABLE'
,column_name 'COLUMN NAME'
,data_type 'DATA TYPE'
,CASE
WHEN CHARACTER_MAXIMUM_LENGTH = 2147483647 THEN 'Long Text'
ELSE CAST(CHARACTER_MAXIMUM_LENGTH AS varchar(30))
END AS 'MAX LENGTH'
,IS_NULLABLE AS 'IS NULL'
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME like '%tucolumna%'
ORDER BY table_name
Como notarás, a esta consulta tendrás que pasarle en la línea 11 el nombre de la columna -completo o en parte- y te devolverá la o las tablas que tengan esa columna, genial no? 😉
Puedes quitar uno o los dos comodines % de la línea 11 dependiendo si tienes el nombre exacto de la columna o una parte de ésta. También ten en cuenta que no importa si lo escribes en mayúscula o minúscula.
Caso práctico
Veamos este query en acción para que tengas una mejor idea de su utilidad y uso.
Tu encontraste hurgando en el código la columna currentflag pero no sabes a qué tabla pertenece, o para saberlo tendrías que seguir depurando el código lo cual podría llevarte desde unos minutos a unas horas, y ese tiempo es valioso.
Imagina que estás trabajando en la base de datos AdventureWorks, la cual tiene 73 tablas, buscarías la columna manualmente tabla por tabla? estás loco capo 😹
Mejor aplica este query 😉
Como viste es así de fácil, y ya tenemos el nombre de la tabla y también información interesante.
Entonces ahora ya sabes cómo hacerlo, disfrútalo y compártelo con tu equipo de ingeniería.
Y si te ha gustado este post compártelo 👌🥳