Me gustaría consultar el nombre de todas las columnas de una tabla. He encontrado cómo hacer esto en:
Pero necesito saber: ¿Cómo se puede hacer esto en Microsoft SQL Server (2008 en mi caso)?
Puede obtener esta información y mucha más consultando las vistas del esquema de información.
Este ejemplo de consulta:
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = N'Customers'
Se puede hacer sobre todos estos objetos de la BD:
Puede utilizar el procedimiento almacenado sp_columns que devolverá la información correspondiente a todas las columnas de una tabla determinada. Puede encontrar más información aquí http://msdn.microsoft.com/en-us/library/ms176077.aspx
También puedes hacerlo mediante una consulta SQL. Algo como esto debería ayudar:
SELECT * FROM sys.columns WHERE object_id = OBJECT_ID('dbo.yourTableName')
O una variación sería:
SELECT o.Name, c.Name
FROM sys.columns c
JOIN sys.objects o ON o.object_id = c.object_id
WHERE o.type = 'U'
ORDER BY o.Name, c.Name
Esto obtiene todas las columnas de todas las tablas, ordenadas por el nombre de la tabla y luego por el nombre de la columna.