1

是否可以将 select 语句中的数据插入动态创建的表中?在我运行查询之前,我不会知道 select 语句中有多少列。它必须在运行时创建适当数量的列。谢谢你,史密斯

4

3 回答 3

4

只需使用以下SELECT INTO语法:

SELECT *
INTO NewTable
FROM MyTable
WHERE ...

NewTable将使用与您的 select 语句相同的列创建新表。

于 2012-07-24T19:07:48.337 回答
0

您可以为此使用 CTAS 模式

USE AdventureWorks
GO    
----Create new table and insert into table using SELECT INSERT
SELECT FirstName, LastName
INTO TestTable
FROM Person.Contact
WHERE EmailPromotion = 2
----Verify that Data in TestTable
SELECT FirstName, LastName
FROM TestTable
----Clean Up Database
DROP TABLE TestTable
GO

看看这篇关于 CTAS 的文章

于 2012-07-24T19:08:44.437 回答
0

-- 这会创建临时表

从 YourTable 中选择 * 进入 #newtable

从#newtable中选择*

-- 这会在数据库中创建物理表

从 YourTable 中选择 * 进入 newtable

从新表中选择 *

于 2012-07-24T19:14:32.033 回答