共用方式為


使用 INSERT 和 SELECT 子查詢插入資料列

INSERT 陳述式的 SELECT 子查詢可以用來將一或多個其他資料表或檢視的值新增到資料表。使用 SELECT 子查詢也讓一個以上的資料列得以同時插入。

在下列範例中,INSERT 陳述式將 AdventureWorks (它的 SalesReasonMarketing) 中的 Sales.SalesReason 資料表之所有資料列的某些資料插入另一個資料表中。

USE AdventureWorks;
GO
CREATE TABLE MySalesReason (
    SalesReasonID int NOT NULL,
    Name nvarchar(50),
    ModifiedDate datetime);
GO
INSERT INTO MySalesReason
    SELECT SalesReasonID, Name, ModifiedDate
    FROM AdventureWorks.Sales.SalesReason
    WHERE ReasonType = N'Marketing';
GO
SELECT SalesReasonID, Name, ModifiedDate 
FROM MySalesReason;
GO

子查詢的選取清單必須與 INSERT 陳述式的資料行清單相符。若未指定資料行清單,則選取清單必須與要插入之資料表或檢視中的資料行相符。

INSERT...SELECT 陳述式的另一種用法是從 SQL Server 2005 以外的來源插入資料。INSERT 陳述式中的 SELECT 可用於下列項目:

請參閱

概念

使用 INSERT 與 SELECT 加入資料列
使用 INSERT 和 Values 插入資料列
使用 TOP 來限制插入的資料列
使用 SELECT INTO 插入資料列

說明及資訊

取得 SQL Server 2005 協助