Condividi tramite


Copia di colonne da una tabella a un'altra (Motore di database)

In questo argomento viene descritto come copiare colonne da una tabella a un'altra, copiando solo la definizione di colonna o i dati e le definizioni in SQL Server 2014 usando 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.

Uso 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. In Esplora oggetti selezionare con il pulsante destro del mouse il nodo Viste , quindi scegliere Nuova vista.

  3. Scegliere Modifica tipo dal menu Progettazione query, quindi Accodamento.

  4. Nella finestra di dialogo Scegliere la tabella di destinazione per Accodamento selezionare la tabella in cui si desidera copiare i dati, quindi scegliere OK.

    Se si sta effettuando la copia di righe all'interno di una stessa tabella, sarà possibile aggiungere la tabella di origine come tabella di destinazione.

    Nota

    InProgettazione query non è possibile stabilire in anticipo le tabelle e le viste da aggiornare. Pertanto, nell'elenco delle tabelle nella finestra di dialogo Scegliere la tabella di destinazione per Accodamento sono visualizzate tutte le tabelle e le viste disponibili nella connessione dati su cui si esegue la query, anche quelle che potrebbero non essere valide come tabelle o viste di destinazione.

  5. Fare clic con il pulsante destro del mouse nel corpo del riquadro Diagramma, quindi scegliere Aggiungi tabella a diagrammadal menu di scelta rapida.

  6. Nella finestra di dialogo Aggiungi tabella selezionare le singole tabelle da cui si desidera copiare i dati, fare clic su Aggiungi, quindi su Chiudi.

    Le tabelle verranno visualizzate in forma abbreviata nel riquadro Diagramma.

  7. Nelle tabelle in forma abbreviata selezionare le caselle relative alle colonne da cui si desidera copiare i dati.

  8. Nella colonna Accodamento del riquadro Criteri selezionare per ogni colonna di destinazione una colonna da cui copiare i dati.

  9. Specificare le righe da copiare immettendo le condizioni di ricerca nel riquadro Criteri. Per informazioni dettagliate, vedere Specificare le condizioni di ricerca (Visual Database Tools).

    Se non si specifica alcuna condizione di ricerca, tutte le righe della tabella di origine verranno copiate nella tabella di destinazione.

  10. Se si desidera copiare informazioni di riepilogo, specificare le opzioni Group By . Per informazioni dettagliate, vedere Riepilogare o aggregare i valori per tutte le righe in una tabella (Visual Database Tools).

  11. Scegliere il pulsante Esegui SQL per eseguire la query.

    Quando si esegue una query di inserimento dei risultati, non vengono segnalati risultati nel riquadro risultati. Viene invece visualizzato un messaggio che indica il numero di righe copiate.

Uso 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 AdventureWorks2012;  
    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