从SQL Server 2008中的所有表中选择所有列

10 sql t-sql sql-server sql-server-2008

如何从数据库中选择所有表中的所有列,例如:

Select * From * 
Run Code Online (Sandbox Code Playgroud)

在SQL Server 2008中???

表列表非常大,并且有很多列,是否可以在不编写列名的情况下执行此操作?

或者可以创建一个返回表名称的选择.

Dav*_*vid 29

这个SQL会这样做......

DECLARE @SQL AS VarChar(MAX)
SET @SQL = ''

SELECT @SQL = @SQL + 'SELECT * FROM ' + TABLE_SCHEMA + '.[' + TABLE_NAME + ']' + CHAR(13)
FROM INFORMATION_SCHEMA.TABLES

EXEC (@SQL)
Run Code Online (Sandbox Code Playgroud)


Ash*_*ikh 10

SELECT t.name AS table_name,
SCHEMA_NAME(schema_id) AS schema_name,
c.name AS column_name
FROM sys.tables AS t
INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID where t.name = 'ProductItem'  AND C.name like '%retail%'
ORDER BY schema_name, table_name 
Run Code Online (Sandbox Code Playgroud)


Nes*_*bia 8

试试这个,工作正常

SELECT * FROM INFORMATION_SCHEMA.COLUMNS 
Run Code Online (Sandbox Code Playgroud)

然后你可以添加

WHERE TABLE_NAME LIKE '' AND COLUMN_NAME LIKE ''
Run Code Online (Sandbox Code Playgroud)