Cómo saber a qué tabla pertenece una columna cualquiera en una base de datos SQL Server
Busca de una manera inteligente. Usa querys de auditoría de bases de datos y sé un desarrollador excepcional 🥳

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 😉

Auditando para encontrar la tabla

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.

Share the knowledge, ese es uno de los pilares de este blog desde su creación 🫡. Foto de Mimi Thian en Unsplash

Y si te ha gustado este post compártelo 👌🥳

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *