SQL Server Insert nella tabella Temp

SQL Server Insert nella tabella Temp

Tabelle temporanee o tabelle temporanee, fare riferimento alle tabelle create da un utente SQL Server al solo scopo di archiviare i dati temporaneamente. Le tabelle di temp sono utili per lavorare con sottoinsiemi di dati che richiederebbero cumuli di query specificate per filtrare.

Questa guida discuterà come lavorare con tabelle temporanee in SQL Server. Inizieremo dalle basi e impareremo come creare tabelle temporanee, utilizzare tabelle temporanee globali, inserire i dati in tabelle temporanee e rilasciare tabelle temporali.

SQL Server Crea tabelle Temp

In SQL Server, ci sono due metodi principali per la creazione di tabelle di temperatura:

  1. Utilizzo dell'istruzione SQL Select.
  2. Utilizzando l'istruzione Crea Table.

Guardiamo ciascuno dei metodi sopra.

Utilizzo dell'istruzione SQL Select

Puoi usare il Seleziona in Dichiarazione per creare una tabella temporanea e inserire dati da una query definita.

La sintassi per la creazione di una tabella Temp con l'istruzione SELECT è come mostrata:

Seleziona column_list in #temporary_table_name da table_name dove conditional_expression;

Usiamo l'istruzione selezionata seguita dal nome della tabella temporanea. Il nome di una tabella Temp in SQL Server inizia con un segno #.

Considera l'esempio seguente che crea una tabella temporanea usando varie colonne di una tabella esistente:

Usa SalesDB;
Seleziona * in #Sales_Temp dalle vendite dove quantità> 5;

La query sopra dovrebbe selezionare i record corrispondenti e inserirli nella tabella temporanea specificata.

SQL Server memorizza le tabelle Temp nel database Tempdb. Questo è un database di sistema creato automaticamente da SQL Server.

In SQL Server Management Studio, è possibile visualizzare la tabella temporanea creata sopra navigando: Database -> Database di sistema -> tempdb -> tabelle temporanee:

Ogni tabella temporanea contiene un identificatore univoco postfix, inclusa una sequenza di valori numerici. Questo perché più connessioni possono creare tabelle temporanee con nomi simili. SQL Server aggiunge un valore numerico univoco alla fine del nome per evitare conflitti.

Utilizzando la query Crea Table

Il secondo metodo che possiamo usare per creare una tabella temporanea è il SQL Crea table dichiarazione. Questo metodo non è molto diverso da quello di una tabella normale. Tuttavia, il nome della tabella inizia con un segno #.

Per esempio:

Crea la tabella #my_temp_table (
id int non null Identity (1,1) Key primario,
Nome varchar (50)
);

La query sopra creerà una tabella temporanea con il nome specificato.

Una volta creata la tabella Temp, possiamo inserire i dati come tabella normale come mostrato nella query seguente:

Usa tempdb;
Inserisci in #my_temp_table (nome)
Valori ('mysql'),
('PostgreSQL'),
('MongoDB'),
('Sqlite');

Se è necessario ottenere i record archiviati nel database TEMP, è possibile utilizzare l'istruzione SELECT come mostrato:

Seleziona * da #my_temp_table;

L'output di esempio è come mostrato:

SQL Server Drop Temp Tabelle

Una volta creata una tabella Temp, probabilmente vorrai eliminarla dopo l'uso. In SQL Server, ci sono due metodi per far cadere una tabella temporanea:

Terminare la connessione

SQL Server deletterà automaticamente tutte le tabelle temporanee quando la connessione che le ha create è terminata.

Come accennato, una tabella Temp è disponibile solo nella connessione che la crea. Quindi, una volta chiusa la connessione, il server SQL elimina le tabelle e libera le risorse per altre connessioni.

Dichiarazione di caduta

Il secondo metodo che è possibile utilizzare per eliminare una tabella Temp è la query Drop SQL. Ad esempio, per eliminare il my_temp_table creato nelle query precedenti:

DROP TABLE #my_temp_table;

Tabelle di temperatura globali

Una tabella Temp è disponibile solo per la connessione creata per impostazione predefinita. Tuttavia, è possibile creare una tabella disponibile in tutte le connessioni sul server. Questi sono noti come tabelle temporanee globali.

Per creare una temperatura globale in SQL Server, utilizzare i segni a doppia sterlina (##).

Per esempio:

Crea la tabella ## my_temp_table (
id int non null Identity (1,1) Key primario,
Nome varchar (50)
);
Usa tempdb;
Inserisci in ## my_temp_table (nome)
Valori ('mysql'),
('PostgreSQL'),
('MongoDB'),
('Sqlite');

A differenza di una singola tabella di sessione, il server SQL rilascia le tabelle di temperatura globale dopo la chiusura della connessione creata e tutte le altre connessioni sono chiuse.

In chiusura

In questo articolo, hai capito come lavorare con le tabelle temporanee in SQL Server. Le tabelle della temperatura possono essere utili se utilizzate in modo efficiente.

Grazie per aver letto!