quarta-feira, 29 de abril de 2009

Descobrir o nome da(s) tabela(s) através do nome de uma das colunas

Podemos descobrir o nome da(s) tabela(s) através do nome de um de seus campos, fazendo um select nas tabelas do sistema SYSCOLUMNS e SYSOBJECTS.

DECLARE @COLUNA VARCHAR(250)
--ESCREVA AQUI O NOME DA COLUNA QUE DESEJA ENCONTRAR
SET @COLUNA='TESTE'


SELECT
SC.NAME AS [Nome da Coluna],
SO.NAME AS [Nome da Tabela]
FROM
SYSCOLUMNS SC
JOIN SYSOBJECTS SO ON (SC.ID=SO.ID)
WHERE SC.NAME=@COLUNA
ORDER BY 2

3 comentários:

  1. Caso eu não saiba o nome da coluna, ainda sim é possível saber o nome das tabelas que estão no BD SQL Server?

    ResponderExcluir
  2. Você pode listar todas as tabelas do banco de dados, através de uma query na tabela sysobjects:

    --NO SQL 2000
    SELECT * FROM sysobjects
    WHERE TYPE ='U'
    ORDER BY 1

    -- NO SQL 2005 ou superior
    SELECT * FROM sys.objects
    WHERE TYPE ='U'
    ORDER BY 1

    ResponderExcluir
  3. SELECT * FROM sys.objects
    WHERE TYPE ='U'
    ORDER BY 1

    ResponderExcluir

Leave your comment here!