INTO 子句 (Transact-SQL)
更新: 2007 年 9 月 15 日
建立一份新的資料表,再將查詢中所產生的資料列插入其中。
語法
[ INTO new_table ]
引數
new_table
根據選取清單中的資料行及 WHERE 子句所選取的資料列,來指定要建立之新資料表的名稱。new_table 的格式是藉由評估選取清單中的運算式來決定的。new_table 中的資料行依照選取清單所指定的順序來建立。new_table 中每個資料行的名稱、資料類型和值,都與選取清單中對應的運算式相同。當選取清單包括計算資料行時,新資料表變數中對應的資料行並不是計算資料行。新資料行中的值是執行 SELECT...INTO 時所計算的值。
特定大量作業 (包括 SELECT...INTO) 的記錄量會隨著資料庫的有效復原模式而不同。如需詳細資訊,請參閱<復原模式概觀>。
附註: 在 SQL Server 2000 之前的版本中,只有在設定了 select into/bulkcopy 的情況下,才允許利用 SELECT INTO 來建立永久資料表。在 SQL Server 2000 和更新的版本中,您是否能利用 SELECT INTO 來建立永久資料表,已經不會受到 select into/bulkcopy 資料庫選項的影響。
備註
搭配 INTO 子句來執行 SELECT 陳述式的使用者,必須有目的地資料庫中的 CREATE TABLE 權限。
即使來源資料表已經分割,您也無法使用 SELECT INTO 建立分割的資料表。SELECT INTO 不使用來源資料表的資料分割配置。而改用在預設檔案群組上建立的新資料表。如果要將資料行插入分割的資料表,您必須先建立分割的資料表,然後使用 INSERT INTO…SELECT FROM 陳述式。
SELECT...INTO 不能搭配 COMPUTE 使用。
範例
下列範例從各個員工和地址相關資料表選取七個資料行來建立 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 (Transact-SQL)
SELECT 範例 (Transact-SQL)
其他資源
說明及資訊
變更歷程記錄
版本 | 歷程記錄 |
---|---|
2007 年 9 月 15 日 |
|