使用 SELECT INTO 插入行
SELECT INTO 语句用于创建一个新表,并用 SELECT 语句的结果集填充该表。 SELECT INTO 可将几个表或视图中的数据组合成一个表。 也可用于创建一个包含选自链接服务器的数据的新表。
新表的结构由选择列表中表达式的属性定义。 下面的示例中,从多个雇员和与地址相关的表中选择七列来创建表 dbo.EmployeeAddresses
。
USE AdventureWorks;
GO
SELECT c.FirstName, c.LastName, e.Title, a.AddressLine1, a.City, sp.Name AS [State/Province], a.PostalCode
INTO dbo.EmployeeAddresses
FROM Person.Contact AS c
JOIN HumanResources.Employee AS e ON e.ContactID = c.ContactID
JOIN HumanResources.EmployeeAddress AS ea ON ea.EmployeeID = e.EmployeeID
JOIN Person.Address AS a on a.AddressID = ea.AddressID
JOIN Person.StateProvince as sp ON sp.StateProvinceID = a.StateProvinceID;
GO
即使源表已分区,也不能使用 SELECT INTO 创建已分区的表。 SELECT INTO 不使用源表的分区方案。 相反,新表是在默认文件组中创建的。 若要将行插入已分区的表中,必须首先创建已分区的表,然后使用 INSERT INTO…SELECT FROM 语句。
请参阅
概念
使用 INSERT 和 SELECT 添加行
使用 INSERT 和 VALUES 插入行
使用 TOP 限制插入的行
使用 INSERT 和 SELECT 子查询插入行