Clausola INTO (Transact-SQL)

Data aggiornamento: 15 settembre 2007

Crea una nuova tabella e vi inserisce le righe restituite dalla query.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

[ INTO new_table ]

Argomenti

  • new_table
    Specifica il nome della nuova tabella da creare in base alle colonne dell'elenco di selezione e alle righe scelte dalla clausola WHERE. Il formato dell'argomento new_table viene determinato tramite la valutazione delle espressioni nell'elenco di selezione. Le colonne di new_table vengono create nell'ordine indicato nell'elenco di selezione. A ogni colonna di new_table vengono assegnati lo stesso nome, lo stesso tipo di dati e lo stesso valore dell'espressione corrispondente nell'elenco di selezione.

    Quando nell'elenco di selezione è presente una colonna calcolata, la colonna corrispondente della nuova tabella non è di tipo calcolato. I valori della nuova colonna corrispondono ai valori calcolati quando è stata eseguita l'istruzione SELECT...INTO.

    Per alcune operazioni di massa, incluse le istruzioni SELECT INTO, la quantità di registrazioni dipende dal modello di recupero attivato per il database. Per ulteriori informazioni, vedere Panoramica dei modelli di recupero.

    [!NOTA] Nelle versioni precedenti a SQL Server 2000, la creazione di una tabella permanente con SELECT INTO è consentita solo se l'opzione select into/bulkcopy è impostata. In SQL Server 2000 e versioni successive, l'opzione del database select into/bulkcopy non influisce più sulla possibilità di creare una tabella permanente con SELECT INTO.

Osservazioni

Per eseguire un'istruzione SELECT con la clausola INTO, è necessario disporre dell'autorizzazione CREATE TABLE per il database di destinazione.

Non è possibile utilizzare SELECT INTO per creare una tabella partizionata anche quando la tabella di origine è partizionata. SELECT INTO non utilizza lo schema di partizione della tabella di origine. La nuova tabella viene invece creata nel filegroup predefinito. Per inserire righe in una tabella partizionata, è necessario creare prima la tabella partizionata, quindi utilizzare l'istruzione INSERT INTO…SELECT FROM.

L'istruzione SELECT...INTO non può essere utilizzata quando viene specificata l'opzione COMPUTE.

Esempi

Nell'esempio seguente per la creazione della tabella dbo.EmployeeAddresses vengono selezionate sette colonne di diverse tabelle relative a dipendenti e indirizzi.

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

Vedere anche

Riferimento

SELECT (Transact-SQL)
Esempi di istruzioni SELECT (Transact-SQL)

Altre risorse

Inserimento di righe con l'istruzione SELECT INTO

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

15 settembre 2007

Nuovo contenuto:
  • Aggiunta di informazioni della tabella partizionata nei Commenti.
  • Aggiunta della sezione Esempi.