我想查询一个表的所有列的名称。我发现如何做到这一点,在。
但我需要知道。*如何在Microsoft SQL Server*(在我的情况下是2008)中做到这一点?
你可以通过查询信息模式视图获得这些信息以及更多的信息。
这个查询样本。
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = N'Customers'
可以在所有这些DB对象上进行查询。
你可以使用存储过程sp_columns,它将返回与一个给定表的所有列有关的信息。更多信息可以在这里找到http://msdn.microsoft.com/en-us/library/ms176077.aspx
你也可以通过一个SQL查询来做。像这样的一些东西应该会有帮助。
SELECT * FROM sys.columns WHERE object_id = OBJECT_ID('dbo.yourTableName')
或者一个变体是。
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
这样就可以从所有的表中获得所有的列,按表名排序,然后按列名排序。