Condividi tramite


Inserimento di righe con subquery INSERT e SELECT

Tramite la subquery SELECT dell'istruzione INSERT è possibile inserire in una tabella i valori di una o più tabelle o viste. La subquery SELECT consente inoltre di inserire più righe contemporaneamente.

Nell'esempio seguente, l'istruzione INSERT inserisce in una tabella separata alcuni dei dati delle righe contenute nella tabella Sales.SalesReason del database AdventureWorks, in cui SalesReason è Marketing.

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

L'elenco di selezione della subquery deve corrispondere all'elenco di colonne dell'istruzione INSERT. Se l'elenco di colonne non è stato specificato, l'elenco di selezione deve corrispondere alle colonne della tabella o vista in cui viene eseguito l'inserimento.

L'istruzione INSERT...SELECT consente inoltre di inserire i dati da un'origine esterna a SQL Server 2005. Nell'ambito dell'istruzione INSERT, SELECT può essere utilizzata ai fini descritti di seguito:

Vedere anche

Concetti

Aggiunta di righe con INSERT e SELECT
Inserimento di una riga tramite INSERT e Values
Impostazione di limiti per le righe inserite utilizzando la parola chiave TOP
Inserimento di righe con l'istruzione SELECT INTO

Guida in linea e informazioni

Assistenza su SQL Server 2005