Condividi tramite


Creare query di inserimento dei risultati (Visual Database Tools)

si applica a:SQL Server

È possibile copiare righe da una tabella a un'altra o all'interno di una tabella usando una query Inserisci risultati. In una tabella titles, ad esempio, è possibile utilizzare una query Inserisci risultati per copiare informazioni su tutti i titoli di un editore in una seconda tabella che è possibile rendere disponibile per tale editore. Una query Inserisci Risultati è simile a Crea query di tabelle, ma copia le righe in una tabella esistente.

Suggerimento

È anche possibile copiare righe da una tabella a un'altra usando taglia e incolla. Creare una query per ogni tabella ed eseguire le query. Copiare le righe desiderate da una griglia dei risultati all'altra.

Quando si crea una query Inserisci Risultati, si specifica:

  • Tabella di database in cui copiare righe (tabella di destinazione).

  • Tabella o tabelle da cui copiare righe (tabella di origine). La tabella o le tabelle di origine diventano parte di una sottoquery. Se si esegue la copia all'interno di una tabella, la tabella di origine corrisponde alla tabella di destinazione.

  • Colonne della tabella di origine di cui si desidera copiare il contenuto.

  • Colonne di destinazione nella tabella di destinazione in cui copiare i dati.

  • Condizioni di ricerca per definire le righe da copiare.

  • Ordina, se si desidera copiare le righe in un certo ordine.

  • Opzioni di Raggruppa per: se si desidera copiare solo le informazioni di riepilogo.

Ad esempio, la query seguente copia le informazioni sul titolo dalla tabella titles a una tabella di archivio denominata archivetitles. La query copia il contenuto di quattro colonne per tutti i titoli appartenenti a un server di pubblicazione specifico:

INSERT INTO archivetitles (title_id, title, type, pub_id)
SELECT title_id,
       title,
       type,
       pub_id
FROM titles
WHERE (pub_id = '0766');

Nota

Per inserire valori in una nuova riga, utilizzare una query Inserisci valori.

È possibile copiare il contenuto delle colonne selezionate o di tutte le colonne in una riga. In entrambi i casi, i dati copiati devono essere compatibili con le colonne nelle righe in cui si sta copiando. Ad esempio, se si copia il contenuto di una colonna, pricead esempio , la colonna nella riga in cui si esegue la copia deve accettare dati numerici con posizioni decimali. Se si copia un'intera riga, la tabella di destinazione deve avere colonne compatibili nella stessa posizione fisica della tabella di origine.

Quando si crea una query di Inserimento dei risultati, il riquadro Criteri viene aggiornato per mostrare le opzioni disponibili per la copia dei dati. Viene aggiunta una colonna Append per consentire di specificare le colonne in cui copiare i dati.

Cautela

Non è possibile annullare l'azione di esecuzione di una query Inserisci risultati. Per precauzione, eseguire il backup dei dati prima di eseguire la query.

Creare una query Inserisci risultati

  1. Creare una nuova query e aggiungere la tabella da cui copiare le righe (tabella di origine). Se si copiano righe all'interno di una tabella, è possibile aggiungere la tabella di origine come tabella di destinazione.

  2. Scegliere Cambia tipo dal menu Progettazione query e quindi selezionare Inserisci risultati.

  3. Nella finestra di dialogo Scegli tabella di destinazione per Inserisci risultati selezionare la tabella in cui copiare le righe (tabella di destinazione).

    Nota

    Progettazione query e Progettazione viste non è in grado di determinare in anticipo quali tabelle e viste è possibile aggiornare. Di conseguenza, l'elenco Nome tabella nella finestra di dialogo Scegli tabella da query mostra tutte le tabelle e le viste disponibili nella connessione dati su cui si sta eseguendo una query, anche quelle in cui potrebbe non essere possibile copiare righe.

  4. Nel rettangolo che rappresenta la tabella o l'oggetto con valori di tabella scegliere i nomi delle colonne di cui si desidera copiare il contenuto. Per copiare intere righe, scegliere * (Tutte le colonne).

    Il Progettazione Query e Progettazione Viste aggiunge le colonne scelte alla colonna del riquadro Criteri.

  5. Nella colonna Aggiungi del riquadro Criteri selezionare una colonna di destinazione nella tabella di destinazione per ogni colonna copiata. Scegliere tablename.* se si copiano intere righe. Le colonne nella tabella di destinazione devono avere gli stessi tipi di dati (o compatibili) delle colonne nella tabella di origine.

  6. Se si desidera copiare righe in un ordine specifico, specificare un ordinamento. Per informazioni dettagliate, vedere Ordinare e raggruppare i risultati delle query (Visual Database Tools).For details, see Sort and group query results (Visual Database Tools).

  7. Specificare le righe da copiare immettendo le condizioni di ricerca nella colonna filtro. Per informazioni dettagliate, vedere Specificare i criteri di ricerca (Visual Database Tools).For details, see Specify search criteria (Visual Database Tools).

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

    Nota

    Quando si aggiunge una colonna di ricerca nel riquadro Criteri, il Progettista query e viste la aggiunge anche all'elenco delle colonne da copiare. Se si desidera utilizzare una colonna per la ricerca ma non copiarla, deselezionare la casella di controllo accanto al nome della colonna nel rettangolo che rappresenta la tabella o l'oggetto con valori di tabella.

  8. Se desideri copiare le informazioni di riepilogo, specifica le opzioni di raggruppamento. Per informazioni dettagliate, vedere Riepilogare i risultati delle query (Visual Database Tools).For details, see Summarize query results (Visual Database Tools).

Quando si esegue una query Inserisci risultati, non vengono segnalati risultati nel riquadro Risultati (Visual Database Tools).When you execute an Insert Results query, no results are reported in the Results pane (Visual Database Tools). Viene invece visualizzato un messaggio che indica il numero di righe copiate.