Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como obtenho uma lista de colunas em uma tabela ou exibição?


No SQL Server 2008 R2 (entre outras versões), há exibições do sistema fornecidas automaticamente com cada banco de dados. Contanto que você esteja conectado ao banco de dados onde sua tabela reside, você pode executar uma consulta como esta:
DECLARE @TableViewName NVARCHAR(128)
SET @TableViewName=N'MyTableName'

SELECT b.name AS ColumnName, c.name AS DataType, 
b.max_length AS Length, c.Precision, c.Scale, d.value AS Description
FROM sys.all_objects a
INNER JOIN sys.all_columns b
ON a.object_id=b.object_id
INNER JOIN sys.types c
ON b.user_type_id=c.user_type_id
LEFT JOIN sys.extended_properties d
ON a.object_id=d.major_id AND b.column_id=d.minor_id AND d.name='MS_Description'
WHERE [email protected]
AND a.type IN ('U','V')

Claro, isso é apenas um ponto de partida. Existem muitas outras visualizações e colunas do sistema disponíveis em cada banco de dados. Você pode encontrá-los através do SQL Server Management Studio em Views > "System Views