Copiare colonne da una tabella a un'altra (motore di database)

Si applica a: SQL Server 2016 (13.x) e versioni successiveDatabase SQL di AzureIstanza gestita di SQL di AzureAzure Synapse AnalyticsPiattaforma di strumenti analitici (PDW)

Questo argomento descrive come copiare colonne di una tabella a un'altra copiando solo la definizione di colonna oppure la definizione e i dati in SQL Server tramite SQL Server Management Studio o Transact-SQL.

Contenuto dell'articolo

Prima di iniziare

Limitazioni e restrizioni

Quando si copia una colonna contenente un tipo di dati alias da un database a un altro, il tipo di dati alias potrebbe non essere disponibile nel database di destinazione. In questo caso, alla colonna verrà assegnato il tipo di dati di base più simile tra quelli disponibili nel database.

Sicurezza

Autorizzazioni

È necessario disporre dell'autorizzazione ALTER per la tabella.

Utilizzo di SQL Server Management Studio

Per copiare le definizioni delle colonne tra tabelle

  1. Aprire la tabella contenente le colonne da copiare e quella in cui verranno copiate le colonne facendo clic con il pulsante destro del mouse sulle tabelle, quindi scegliendo Progetta.

  2. Fare clic sulla scheda relativa alla tabella contenente le colonne da copiare e selezionarle.

  3. Scegliere Copia dal menu Modifica.

  4. Fare clic sulla scheda relativa alla tabella in cui copiare le colonne.

  5. Selezionare la colonna prima della quale si desidera che vengano inserite le colonne appena copiate, quindi scegliere Incolla dal menu Modifica.

Per copiare dati tra tabelle

  1. Seguire le istruzioni sopra riportate per copiare le definizioni delle colonne.

    Nota

    Prima di iniziare a copiare i dati da una tabella a un'altra, assicurarsi che i tipi di dati delle colonne di destinazione siano compatibili con quelli delle colonne di origine.

  2. Aprire una nuova finestra dell'editor di query.

  3. Fare clic con il pulsante destro sull’editor di query e quindi scegliere Progetta query nell'editor.

  4. Nella finestra di dialogo Aggiungi tabella selezionare la tabella di origine e destinazione, fare clic su Aggiungi, quindi chiudere la finestra di dialogo Aggiungi tabella .

  5. Fare clic con il pulsante destro del mouse su un'area vuota dell'editor di query, scegliere Modifica tipo e quindi fare clic su Accodamento.

  6. Nella finestra di dialogo Scegliere la tabella di destinazione per Accodamento selezionare la tabella di destinazione.

  7. Nella parte superiore di Progettazione query fare clic sulla colonna di origine nella tabella di origine.

  8. In Progettazione query è stata ora creata una query INSERT. Fare clic su OK per inserire la query nella finestra dell'editor di query originale.

  9. Eseguire la query per inserire i dati dalla tabella di origine alla tabella di destinazione.

Utilizzo di Transact-SQL

Per copiare le definizioni delle colonne tra tabelle

  1. Non è possibile copiare singole colonne da una tabella a un'altra tramite istruzioni Transact-SQL. È tuttavia possibile creare una nuova tabella nel filegroup predefinito e inserirvi le righe restituite dalla query. Per altre informazioni, vedere Clausola INTO (Transact-SQL).

Per copiare dati tra tabelle

  1. In Esplora oggetti connettersi a un'istanza del motore di database.

  2. Sulla barra Standard fare clic su Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.

    USE AdventureWorks2022;  
    GO  
    CREATE TABLE dbo.EmployeeSales  
    ( BusinessEntityID   varchar(11) NOT NULL,  
      SalesYTD money NOT NULL  
    );  
    GO  
    INSERT INTO dbo.EmployeeSales  
        SELECT BusinessEntityID, SalesYTD   
        FROM Sales.SalesPerson;  
    GO