SQL Temp-tabeller og -visninger for LuckyTemplates-bruger

I denne øvelse vil vi diskutere SQL-temp-tabeller og -visninger . Disse to kan være praktiske, hvis du vil fra en fysisk tabel til test og fejlfinding. Vi vil også tale om de 2 typer midlertidige borde og deres forskelle.

Med midlertidige SQL-tabeller og -visninger kan du frit manipulere datasættet ved hjælp af flere kommandoer uden at forespørge det gentagne gange, da det allerede er gemt i en separat tabel.

Selvom disse to fungerer på samme måde, skal du være opmærksom på deres forskelle. Det hjælper dig med at bestemme den bedste metode, du kan bruge i en specifik situation.

Baseret på selve navnet bruges midlertidige tabeller til at gemme data midlertidigt i en session.

Vi kan også udføre flere operationer på dem ligesom på et fysisk bord . Forestil dig, at du har en SQL-kommando, der er meget lang. Du kan simpelthen sætte det i en midlertidig tabel og begynde at fejlfinde eller fejlfinde fejlene uden at påvirke den oprindelige forespørgsel. Desuden er midlertidige tabeller kraftfulde og bruges ofte i SQL.

Indholdsfortegnelse

To typer midlertidige tabeller i SQL

Der er 2 typer midlertidige tabeller i SQL. Dette er de lokale og globale midlertidige tabeller.

Lokale midlertidige tabeller eksisterer kun i en session, hvor den blev oprettet. Vi vil ikke kunne få adgang til denne tabel i andre sessioner. På grund af dette vil lokale midlertidige tabeller ikke længere eksistere, når sessionen, hvor den blev oprettet, er lukket.

I modsætning hertil er globale midlertidige tabeller tilgængelige i alle sessioner, når de oprettes. Men når alle sessioner er lukket, vil den ikke længere eksistere, og den vil ikke længere være tilgængelig.

Bemærk, at du ganske enkelt kan identificere, hvilken type midlertidig tabel, der bruges i en forespørgsel, ved at markere " # " symbolet for lokal og " ## " for den globale midlertidige tabel.

SQL Temp-tabeller og -visninger for LuckyTemplates-bruger

Lokale midlertidige tabeller starter normalt med " # " i deres tabelnavn.

SQL Temp-tabeller og -visninger for LuckyTemplates-bruger

På den anden side starter globale midlertidige tabeller med " ## " før tabelnavnet.

SQL Temp-tabeller og -visninger for LuckyTemplates-bruger

Derudover, hvis du hurtigt vil oprette en tabel, kan du følge kommandoen: SELECT * INTO #customers FRA dbo.courses som et eksempel.

SQL Temp-tabeller og -visninger for LuckyTemplates-bruger

Denne kommando vil oprette en ny midlertidig tabel ved navn #kunder med alle data fra tabellen dbo.courses .

Visninger i Microsoft SQL Server Management Studio

Lad os nu diskutere SQL-visninger med denne eksempelkommando.

SQL Temp-tabeller og -visninger for LuckyTemplates-bruger

Lad os for eksempel sige, at vi ikke ønsker at udføre en kommando som denne gentagne gange. Du kan blot sætte det i en visning ved at følge kommandoen nedenfor.

SQL Temp-tabeller og -visninger for LuckyTemplates-bruger

Oprettelse af en visning svarer til at oprette tabeller. Ved at bruge dette vil vi kunne udføre den forespørgsel, vi indtastede, ved at vælge det visningsnavn, vi har oprettet. I dette tilfælde er det CustomersbyYear_v .

SQL Temp-tabeller og -visninger for LuckyTemplates-bruger

Det er vigtigt at bemærke, at visninger er forskellige fra midlertidige tabeller. Det er fordi visninger er synlige i din database ligesom en fysisk tabel, medmindre du sletter den. Ydermere gemmer visninger ingen data eller værdier.

I stedet vil den blot gengive den kommando, du har indtastet lige efter CREATE VIEW -kommandoen. Du kan også køre enhver tabeloperation i visninger.

Vigtigst af alt kan vi nemt identificere synspunkter, da de normalt er repræsenteret ved at sætte "v" i begyndelsen eller slutningen af ​​visningsnavnet.

Oprettelse af midlertidige tabeller og visninger i SQL

For dette eksempel har jeg denne forespørgsel, der vil kombinere og vise posterne fra Sales.SalesOrderHeader og Sales.Customer C efter at have udført den.

SQL Temp-tabeller og -visninger for LuckyTemplates-bruger

SQL Temp-tabeller og -visninger for LuckyTemplates-bruger

Oprettelse af lokale Temp-tabeller i SQL

Forestil dig, at du har skrevet en forespørgsel, der er 200 linjer lang, og du skal fejlsøge og udføre visse operationer på den. Du kan ikke direkte, da det kan forårsage flere fejl under processen.

I så fald, ved at bruge det foregående eksempel, vil vi oprette en lokal midlertidig tabel ved at tilføje kommandoen " INTO #test_local " før FROM-kommandoen.

SQL Temp-tabeller og -visninger for LuckyTemplates-bruger

Når vi kører denne kommando, vil #test_local nu indeholde de kombinerede poster for Sales.SalesOrderHeader og Sales.Customer C . Som et resultat er dette, hvad du vil se, når du vælger #test_local- tabellen.

SQL Temp-tabeller og -visninger for LuckyTemplates-bruger

Derefter kan vi nu udføre enhver handling på #test_local- tabellen. Vi vælger alle poster fra #test_local , og derefter ændrer vi rækkefølgen af ​​poster efter kunde-id ved hjælp af følgende kommando. 

SQL Temp-tabeller og -visninger for LuckyTemplates-bruger

Som et resultat er posterne nu sorteret efter deres kunde-id. Men da vi brugte en lokal midlertidig tabel, kan vi ikke få adgang til eller bruge #test_local tabel i en anden session. Det næste eksempel viser, hvad der vil ske, hvis vi forsøger at få adgang til #test_local i SQLQuery2.sql .

SQL Temp-tabeller og -visninger for LuckyTemplates-bruger

Baseret på det foregående eksempel, ved valg af #test_local , viste den bare en fejlmeddelelse. Dette skyldes, at #test_local- tabellen kun eksisterer i den session, hvor den blev oprettet, hvilket er SQLQuery1.sql .

Oprettelse af globale Temp-tabeller i SQL

Dernæst bruger vi den samme forespørgsel, som vi brugte i #test_local . Men denne gang vil vi bruge en global .

SQL Temp-tabeller og -visninger for LuckyTemplates-bruger

Hvis vi nu vælger ##test_global og bestiller posterne efter kunde-ID, vil det vise det samme output som det, vi havde i #test_local, da vi brugte den samme forespørgsel. 

SQL Temp-tabeller og -visninger for LuckyTemplates-bruger

Derefter vil vi forsøge at få adgang til ##test_global- tabellen i en anden session ved at vælge den. Dette fungerer problemfrit, da vi bruger en global midlertidig tabel.

SQL Temp-tabeller og -visninger for LuckyTemplates-bruger

På dette tidspunkt fremhæver vi forskellen mellem lokale og globale midlertidige tabeller.

Husk, at lokale midlertidige tabeller kun er tilgængelige i en session, hvor den blev oprettet . Når du lukker den session, eksisterer den ikke længere.

På den anden side er globale temp-tabeller synlige for alle sessioner , medmindre du lukker alle aktive sessioner eller selve applikationen.

Oprettelse af visninger i SQL

Vi vil nu skabe en visning. I dette eksempel har vi en eksisterende forespørgsel som denne.

SQL Temp-tabeller og -visninger for LuckyTemplates-bruger

Vi kan begynde at oprette en visning ved at tilføje kommandoen CREATE VIEW til den forespørgsel.

SQL Temp-tabeller og -visninger for LuckyTemplates-bruger

Når kommandoen køres, oprettes en visning i databasen, som vi arbejder på. I dette tilfælde er det AdventureWorks2012 .

Vi bør også se dbo.CustomerView_v i mappen Views efter at have opdateret den. For at opdatere mappen Visninger skal du højreklikke på den og derefter vælge Opdater .

SQL Temp-tabeller og -visninger for LuckyTemplates-bruger

Klik på +-ikonet til højre for mappen Visninger, og dbo.CustomerView_v vil være synlig.

SQL Temp-tabeller og -visninger for LuckyTemplates-bruger

Du kan åbne denne visning ved at højreklikke på dbo.CustomerView_v og derefter vælge Vælg Top 1000 Rows fra mulighederne. Dette vil vise 1000 poster i den visning .

SQL Temp-tabeller og -visninger for LuckyTemplates-bruger

Efter dette kan vi nu bruge dbo.CustomerView_v og udføre enhver handling på den ligesom en tabel. For eksempel vil vi vælge posterne med SalesOrderID større end 50000 i dbo.CustomerView_v . I dette tilfælde bruger vi følgende kommando.

SQL Temp-tabeller og -visninger for LuckyTemplates-bruger

Nu er vi i stand til at køre en operation på den visning, vi har oprettet.

Konklusion

For at opsummere har vi lært de 2 typer af midlertidige tabeller sammen med deres forskelle, og hvorfor vi skal bruge dem. Derudover har vi diskuteret, at midlertidige tabeller tjener som en måde at rette fejl i dine forespørgsler på uden at beskadige den faktiske forespørgsel.

Husk, at midlertidige tabeller kun er synlige for sessioner, hvor de blev oprettet. Derfor vil den ikke længere eksistere, når vi har lukket de aktive sessioner eller selve applikationen.

Vi har også erfaret, at visninger ikke gemmer data eller registreringer. Det viser kun resultater baseret på den forespørgsel, du ønsker skal gengives. Disse visninger gemmes i vores database, når vi har oprettet dem. 

Ved at lære disse to har du nu mulighed for hurtigt at udføre lange kommandoer og nemt ændre store bidder af datasæt .

Alt det bedste,

Hafiz


Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion

Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion

Denne blog indeholder LuckyTemplates TOPN DAX-funktionen, som giver dig mulighed for at få unik indsigt fra dine data, hvilket hjælper dig med at træffe bedre markedsføringsbeslutninger.

Datamodellering i LuckyTemplates ved hjælp af understøttende tabeller

Datamodellering i LuckyTemplates ved hjælp af understøttende tabeller

Lær nogle fantastiske analytiske teknikker, som vi kan gøre til datamodellering i LuckyTemplates ved hjælp af DAX-understøttende tabeller.

Avanceret DAX til LuckyTemplates: Implementering af rangeringslogik på tværs af unikke indsigter

Avanceret DAX til LuckyTemplates: Implementering af rangeringslogik på tværs af unikke indsigter

Her dykker vi ned i LuckyTemplates Advanced DAX og implementerer rangeringslogik for at få en meget unik indsigt. Jeg viser også måleforgrening i dette eksempel.

LuckyTemplates What-If-parameterfunktion

LuckyTemplates What-If-parameterfunktion

Denne blog introducerer den nye funktion i LuckyTemplates, What-If-analyseparameteren. Du vil se, hvordan det gør alt hurtigt og nemt til din scenarieanalyse.

Brug LuckyTemplates Mål forgrening for at kontrollere, om dine avancer udvides, efterhånden som omsætningen vokser

Brug LuckyTemplates Mål forgrening for at kontrollere, om dine avancer udvides, efterhånden som omsætningen vokser

Lær, hvordan du afgør, om din omsætningsvækst er god ved at kontrollere, om dine avancer er udvidet ved hjælp af LuckyTemplates, der måler forgrening.

LuckyTemplates-parametre via forespørgselseditor

LuckyTemplates-parametre via forespørgselseditor

Lær og forstå, hvordan du kan oprette og bruge LuckyTemplates Parameters, som er en kraftfuld funktion i Query Editor.

Rundt søjlediagram – en visualisering til dit dashboard

Rundt søjlediagram – en visualisering til dit dashboard

Denne vejledning vil diskutere om oprettelse af et rundt søjlediagram ved hjælp af Charticulator. Du lærer, hvordan du designer dem til din LuckyTemplates-rapport.

PowerApps funktioner og formler | En introduktion

PowerApps funktioner og formler | En introduktion

Lær, hvordan du bruger PowerApps-funktioner og -formler til at forbedre funktionaliteten og ændre adfærd i vores Power Apps-lærredsapp.

Pipe In R: Tilslutningsfunktioner med Dplyr

Pipe In R: Tilslutningsfunktioner med Dplyr

I denne øvelse lærer du, hvordan du kæder funktioner sammen ved hjælp af dplyr-røroperatoren i programmeringssproget R.

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX fra LuckyTemplates giver dig mulighed for at returnere rangeringen af ​​et specifikt tal i hver tabelrække, der udgør en del af en liste over tal.