MSSQL: Descobrir que tabelas têm um campo pelo nome

Dei por mim a trabalhar numa base de dados em que as relações só existem na teoria, como se não bastasse devem existir cerca de uma centena de tabelas em que algumas delas têm outros tantos campos. A dada altura tive de saber em que tabelas existia o campo um determinado nome, solução:


SELECT sc.[name] AS column_name, so.[name] AS table_name
FROM syscolumns sc
INNER JOIN sysobjects so ON sc.id=so.id
WHERE sc.[name] LIKE '%bocado_do_nome_do_campo%'

Publicado por

Nuno Ferro

Nuno Ferro tem 38 anos, cresceu em Mafra e mais tarde mudou-se para Lisboa. Actualmente, trabalha na Sky como Reliability Manager.

2 comentários em “MSSQL: Descobrir que tabelas têm um campo pelo nome”

  1. SELECT A.TABLE_NAME FROM USER_TABLES A
    WHERE EXISTS (SELECT 1 FROM USER_TAB_COLUMNS
    WHERE TABLE_NAME=A.TABLE_NAME AND COLUMN_NAME = ‘NOME DO CAMPO’
    )

Os comentários estão fechados.