sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo obtengo una lista de columnas en una tabla o vista?

En SQL Server 2008 R2 (entre otras versiones), hay vistas del sistema proporcionadas automáticamente con cada base de datos. Mientras esté conectado a la base de datos donde reside su tabla, puede ejecutar una 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')

Por supuesto, esto es sólo un punto de partida. Hay muchas otras vistas y columnas del sistema disponibles en cada base de datos. Puede encontrarlos a través de SQL Server Management Studio en Views > "System Views