Tabelle e viste temporanee SQL per lutente di LuckyTemplates

Tabelle e viste temporanee SQL per lutente di LuckyTemplates

In questo tutorial, discuteremo le tabelle e le viste temporanee di SQL . Questi due possono essere utili se si desidera estrarre un set specifico di dati da una tabella fisica per il test e il debug. Parleremo anche dei 2 tipi di tabelle temporanee e delle loro differenze.

Con le tabelle e le viste temporanee SQL, puoi manipolare liberamente il set di dati utilizzando più comandi senza interrogarlo ripetutamente poiché è già memorizzato in una tabella separata.

Anche se questi due funzionano in modo simile, devi prendere nota delle loro differenze. Questo ti aiuterà a decidere il metodo migliore che puoi utilizzare in una situazione specifica.

In base al nome stesso, le tabelle temporanee vengono utilizzate per archiviare temporaneamente i dati in una sessione.

Possiamo anche eseguire più operazioni su di essi proprio come su un tavolo fisico . Immagina di avere un comando SQL molto lungo. Puoi semplicemente inserirlo in una tabella temporanea e avviare il debug o la risoluzione degli errori senza influire sulla query originale. Inoltre, le tabelle temporanee sono potenti e spesso utilizzate in SQL.

Sommario

Due tipi di tabelle temporanee in SQL

Ci sono 2 tipi di tabelle temporanee in SQL. Queste sono le tabelle temporanee locali e globali.

Le tabelle temporanee locali esistono solo in una sessione in cui sono state create. Non saremo in grado di accedere a questa tabella in altre sessioni. Per questo motivo, le tabelle temporanee locali non esisteranno più una volta chiusa la sessione in cui sono state create.

Al contrario, le tabelle temporanee globali sono accessibili in tutte le sessioni al momento della creazione. Ma una volta chiuse tutte le sessioni, non esisterà più e non sarà più accessibile.

Tieni presente che puoi semplicemente identificare quale tipo di tabella temporanea viene utilizzata in una query controllando il simbolo " # " per locale e " ## " per la tabella temporanea globale.

Tabelle e viste temporanee SQL per l'utente di LuckyTemplates

Le tabelle temporanee locali di solito iniziano con " # " nel nome della tabella.

Tabelle e viste temporanee SQL per l'utente di LuckyTemplates

D'altra parte, le tabelle temporanee globali iniziano con " ## " prima del nome della tabella.

Tabelle e viste temporanee SQL per l'utente di LuckyTemplates

Inoltre, se desideri creare rapidamente qualsiasi tabella, puoi seguire il comando: SELECT * INTO #customers FROM dbo.courses come esempio.

Tabelle e viste temporanee SQL per l'utente di LuckyTemplates

Questo comando creerà una nuova tabella temporanea denominata #clienti con tutti i dati dalla tabella dbo.courses .

Viste in Microsoft SQL Server Management Studio

Parliamo ora delle viste SQL con questo comando di esempio.

Tabelle e viste temporanee SQL per l'utente di LuckyTemplates

Diciamo per esempio che non vogliamo eseguire ripetutamente un comando come questo. Puoi semplicemente metterlo in una vista seguendo il comando qui sotto.

Tabelle e viste temporanee SQL per l'utente di LuckyTemplates

La creazione di una vista è simile alla creazione di tabelle. L'utilizzo di questo ci consentirà di eseguire la query che abbiamo inserito selezionando il nome della vista che abbiamo creato. In questo caso, è CustomersbyYear_v .

Tabelle e viste temporanee SQL per l'utente di LuckyTemplates

È importante notare che le viste sono diverse dalle tabelle temporanee. Questo perché le viste sono visibili nel tuo database proprio come una tabella fisica a meno che tu non la elimini. Inoltre, le viste non memorizzano dati o valori.

Invece, renderà solo il comando che hai inserito subito dopo il comando CREATE VIEW . Puoi anche eseguire qualsiasi operazione di tabella nelle viste.

La cosa più importante è che possiamo facilmente identificare le viste poiché sono solitamente rappresentate mettendo "v" all'inizio o alla fine del nome della vista.

Creazione di tabelle e viste temporanee in SQL

Per questo esempio, ho questa query che combinerà e mostrerà i record di Sales.SalesOrderHeader e Sales.Customer C dopo averlo eseguito.

Tabelle e viste temporanee SQL per l'utente di LuckyTemplates

Tabelle e viste temporanee SQL per l'utente di LuckyTemplates

Creazione di tabelle temporanee locali in SQL

Immagina di aver scritto una query lunga 200 righe e di dover eseguire il debug ed eseguire determinate operazioni su di essa. Non puoi modificare direttamente la query in quanto potrebbe causare più errori durante il processo.

In tal caso, utilizzando l'esempio precedente, creeremo una tabella temporanea locale aggiungendo il comando " INTO #test_local " prima del comando FROM.

Tabelle e viste temporanee SQL per l'utente di LuckyTemplates

Una volta eseguito questo comando, #test_local ora conterrà i record combinati di Sales.SalesOrderHeader e Sales.Customer C . Di conseguenza, questo è ciò che vedrai quando selezioni la tabella #test_local .

Tabelle e viste temporanee SQL per l'utente di LuckyTemplates

Successivamente, ora possiamo eseguire qualsiasi operazione sulla tabella #test_local . Selezioneremo tutti i record da #test_local , quindi cambieremo l'ordine dei record in base a CustomerID utilizzando il seguente comando. 

Tabelle e viste temporanee SQL per l'utente di LuckyTemplates

Di conseguenza, i record sono ora ordinati in base al loro CustomerID. Ma poiché abbiamo utilizzato una tabella temporanea locale, non possiamo accedere o utilizzare la tabella #test_local in una sessione diversa. Il prossimo esempio mostra cosa accadrà se proviamo ad accedere a #test_local in SQLQuery2.sql .

Tabelle e viste temporanee SQL per l'utente di LuckyTemplates

Sulla base dell'esempio precedente, dopo aver selezionato #test_local , ha appena visualizzato un messaggio di errore. Questo perché la tabella #test_local esiste solo nella sessione in cui è stata creata, ovvero SQLQuery1.sql .

Creazione di tabelle temporanee globali in SQL

Successivamente, utilizzeremo la stessa query utilizzata in #test_local . Ma questa volta utilizzeremo una globale .

Tabelle e viste temporanee SQL per l'utente di LuckyTemplates

Ora se selezioniamo ##test_global e ordiniamo i record per CustomerID, mostrerà lo stesso output di quello che avevamo in #test_local poiché abbiamo utilizzato la stessa query. 

Tabelle e viste temporanee SQL per l'utente di LuckyTemplates

Successivamente, proveremo ad accedere alla tabella ##test_global in una sessione diversa selezionandola. Funziona perfettamente poiché stiamo utilizzando una tabella temporanea globale.

Tabelle e viste temporanee SQL per l'utente di LuckyTemplates

A questo punto, stiamo evidenziando la differenza tra tabelle temporanee locali e globali.

Ricorda che le tabelle temporanee locali sono accessibili solo in una sessione in cui è stato creato . Una volta chiusa quella sessione, non esisterà più.

D'altra parte, le tabelle temporanee globali sono visibili a tutte le sessioni , a meno che non si chiudano tutte le sessioni attive o l'applicazione stessa.

Creazione di viste in SQL

Ora creeremo una vista. In questo esempio, abbiamo una query esistente come questa.

Tabelle e viste temporanee SQL per l'utente di LuckyTemplates

Possiamo iniziare a creare una vista aggiungendo il comando CREATE VIEW a quella query.

Tabelle e viste temporanee SQL per l'utente di LuckyTemplates

Dopo aver eseguito il comando, verrà creata una vista nel database su cui stiamo lavorando. In questo caso, è AdventureWorks2012 .

Dovremmo anche vedere dbo.CustomerView_v nella cartella Views dopo averlo aggiornato. Per aggiornare la cartella Views, fai clic con il pulsante destro del mouse su di essa, quindi seleziona Aggiorna .

Tabelle e viste temporanee SQL per l'utente di LuckyTemplates

Fare clic sull'icona + a destra della cartella Views e dbo.CustomerView_v sarà visibile.

Tabelle e viste temporanee SQL per l'utente di LuckyTemplates

È possibile aprire questa visualizzazione facendo clic con il pulsante destro del mouse su dbo.CustomerView_v , quindi scegliere Seleziona le prime 1000 righe dalle opzioni. Questo visualizzerà 1000 record in quella vista .

Tabelle e viste temporanee SQL per l'utente di LuckyTemplates

Successivamente, ora possiamo utilizzare dbo.CustomerView_v ed eseguire qualsiasi operazione su di esso proprio come una tabella. Ad esempio, vogliamo selezionare i record con SalesOrderID maggiore di 50000 in dbo.CustomerView_v . In questo caso, useremo il seguente comando.

Tabelle e viste temporanee SQL per l'utente di LuckyTemplates

Ora siamo in grado di eseguire un'operazione sulla vista che abbiamo creato.

Conclusione

Per riassumere, abbiamo imparato i 2 tipi di tabelle temporanee insieme alle loro differenze e perché dobbiamo usarle. Inoltre, abbiamo discusso del fatto che le tabelle temporanee servono come un modo per correggere gli errori nelle query senza danneggiare la query effettiva.

Tieni presente che le tabelle temporanee sono visibili solo alle sessioni in cui sono state create. Quindi, non esisterà più una volta chiuse le sessioni attive o l'applicazione stessa.

Abbiamo anche appreso che le visualizzazioni non memorizzano dati o record. Mostra solo i risultati in base alla query di cui si desidera eseguire il rendering. Queste viste vengono memorizzate nel nostro database una volta create. 

Imparando questi due, ora hai la possibilità di eseguire rapidamente comandi lunghi e modificare facilmente grandi blocchi di set di dati.

Ti auguro il meglio,

Hafiz


Cosè il sé in Python: esempi del mondo reale

Cosè il sé in Python: esempi del mondo reale

Cos'è il sé in Python: esempi del mondo reale

Come salvare e caricare un file RDS in R

Come salvare e caricare un file RDS in R

Imparerai come salvare e caricare oggetti da un file .rds in R. Questo blog tratterà anche come importare oggetti da R a LuckyTemplates.

Rivisitazione dei primi N giorni lavorativi: una soluzione per il linguaggio di codifica DAX

Rivisitazione dei primi N giorni lavorativi: una soluzione per il linguaggio di codifica DAX

In questa esercitazione sul linguaggio di codifica DAX, scopri come usare la funzione GENERATE e come modificare dinamicamente il titolo di una misura.

Mostra approfondimenti utilizzando la tecnica di visualizzazione dinamica multi-thread in LuckyTemplates

Mostra approfondimenti utilizzando la tecnica di visualizzazione dinamica multi-thread in LuckyTemplates

Questo tutorial illustrerà come utilizzare la tecnica di visualizzazione dinamica multi-thread per creare approfondimenti dalle visualizzazioni di dati dinamici nei report.

Introduzione al filtraggio del contesto in LuckyTemplates

Introduzione al filtraggio del contesto in LuckyTemplates

In questo articolo, esaminerò il contesto del filtro. Il contesto del filtro è uno degli argomenti principali che qualsiasi utente di LuckyTemplates dovrebbe inizialmente conoscere.

I migliori suggerimenti per lutilizzo delle app nel servizio online LuckyTemplates

I migliori suggerimenti per lutilizzo delle app nel servizio online LuckyTemplates

Voglio mostrare come il servizio online di LuckyTemplates Apps può aiutare nella gestione di diversi report e approfondimenti generati da varie fonti.

Analizza le variazioni del margine di profitto nel tempo: analisi con LuckyTemplates e DAX

Analizza le variazioni del margine di profitto nel tempo: analisi con LuckyTemplates e DAX

Scopri come elaborare le modifiche al margine di profitto utilizzando tecniche come la ramificazione delle misure e la combinazione di formule DAX in LuckyTemplates.

Idee di materializzazione per cache di dati in DAX Studio

Idee di materializzazione per cache di dati in DAX Studio

Questo tutorial discuterà delle idee di materializzazione delle cache di dati e di come influiscono sulle prestazioni dei DAX nel fornire risultati.

Reporting aziendale tramite LuckyTemplates

Reporting aziendale tramite LuckyTemplates

Se finora utilizzi ancora Excel, questo è il momento migliore per iniziare a utilizzare LuckyTemplates per le tue esigenze di reportistica aziendale.

Che cosè il gateway LuckyTemplates? Tutto quello che devi sapere

Che cosè il gateway LuckyTemplates? Tutto quello che devi sapere

Che cos'è il gateway LuckyTemplates? Tutto quello che devi sapere