SQL Temp-tabeller och vyer för LuckyTemplates-användare

I den här självstudien kommer vi att diskutera SQL Temp-tabeller och vyer . Dessa två kan vara praktiska om du vill från en fysisk tabell för testning och felsökning. Vi kommer också att prata om de två typerna av tillfälliga bord och deras skillnader.

Med tillfälliga SQL-tabeller och vyer kan du fritt manipulera datauppsättningen med hjälp av flera kommandon utan att fråga den upprepade gånger eftersom den redan är lagrad i en separat tabell.

Även om dessa två fungerar på liknande sätt, måste du notera deras skillnader. Det hjälper dig att bestämma den bästa metoden du kan använda i en specifik situation.

Baserat på själva namnet används temporära tabeller för att lagra data tillfälligt i en session.

Vi kan också göra flera operationer på dem precis som på ett fysiskt bord . Föreställ dig att du har ett SQL-kommando som är väldigt långt. Du kan helt enkelt lägga det i en tillfällig tabell och börja felsöka eller felsöka felen utan att påverka den ursprungliga frågan. Dessutom är temporära tabeller kraftfulla och används ofta i SQL.

Innehållsförteckning

Två typer av tillfälliga tabeller i SQL

Det finns 2 typer av temporära tabeller i SQL. Dessa är de lokala och globala tillfälliga tabellerna.

Lokala temporära tabeller finns bara i en session där de skapades. Vi kommer inte att kunna komma åt den här tabellen under andra sessioner. På grund av detta kommer lokala temporära tabeller inte längre att existera när sessionen där den skapades är stängd.

Däremot är globala temporära tabeller tillgängliga i alla sessioner när de skapas. Men när alla sessioner är stängda kommer den inte längre att existera och den kommer inte att vara tillgänglig längre.

Observera att du helt enkelt kan identifiera vilken typ av temporär tabell som används i en fråga genom att markera " # "-symbolen för lokal och " ## " för den globala temporära tabellen.

SQL Temp-tabeller och vyer för LuckyTemplates-användare

Lokala temporära tabeller börjar vanligtvis med " # " i tabellnamnet.

SQL Temp-tabeller och vyer för LuckyTemplates-användare

Å andra sidan börjar globala temporära tabeller med " ## " före tabellnamnet.

SQL Temp-tabeller och vyer för LuckyTemplates-användare

Om du dessutom snabbt vill skapa en tabell kan du följa kommandot: SELECT * INTO #customers FROM dbo.courses som ett exempel.

SQL Temp-tabeller och vyer för LuckyTemplates-användare

Detta kommando kommer att skapa en ny temporär tabell med namnet #customers med all data från tabellen dbo.courses .

Visningar i Microsoft SQL Server Management Studio

Låt oss nu diskutera SQL-vyer med detta exempelkommando.

SQL Temp-tabeller och vyer för LuckyTemplates-användare

Låt oss säga att vi till exempel inte vill utföra ett kommando som detta upprepade gånger. Du kan helt enkelt lägga den i en vy genom att följa kommandot nedan.

SQL Temp-tabeller och vyer för LuckyTemplates-användare

Att skapa en vy liknar att skapa tabeller. Genom att använda detta kan vi köra frågan som vi skrev in genom att välja vynnamnet vi har skapat. I det här fallet är det CustomersbyYear_v .

SQL Temp-tabeller och vyer för LuckyTemplates-användare

Det är viktigt att notera att vyerna skiljer sig från tillfälliga tabeller. Det beror på att vyer är synliga i din databas precis som en fysisk tabell om du inte tar bort den. Dessutom lagrar vyer inga data eller värden.

Istället kommer det bara att återge kommandot som du har angett direkt efter kommandot CREATE VIEW . Du kan också köra valfri tabelloperation i vyer.

Det viktigaste är att vi enkelt kan identifiera vyer eftersom de vanligtvis representeras genom att sätta "v" i början eller slutet av vynamnet.

Skapa tillfälliga tabeller och vyer i SQL

För det här exemplet har jag den här frågan som kommer att kombinera och visa poster från Sales.SalesOrderHeader och Sales.Customer C efter att den har körts.

SQL Temp-tabeller och vyer för LuckyTemplates-användare

SQL Temp-tabeller och vyer för LuckyTemplates-användare

Skapa lokala Temp-tabeller i SQL

Föreställ dig att du har skrivit en fråga som är 200 rader lång och du behöver felsöka och utföra vissa operationer på den. Du kan inte direkt eftersom det kan orsaka fler fel under processen.

I så fall, med hjälp av föregående exempel, kommer vi att skapa en lokal temporär tabell genom att lägga till kommandot " INTO #test_local " före kommandot FROM.

SQL Temp-tabeller och vyer för LuckyTemplates-användare

När vi kör det här kommandot kommer #test_local nu att innehålla de kombinerade posterna för Sales.SalesOrderHeader och Sales.Customer C . Som ett resultat är detta vad du kommer att se när du väljer tabellen #test_local .

SQL Temp-tabeller och vyer för LuckyTemplates-användare

Efter det kan vi nu utföra alla operationer på #test_local- tabellen. Vi väljer alla poster från #test_local och sedan ändrar vi posternas ordning efter kund-ID med följande kommando. 

SQL Temp-tabeller och vyer för LuckyTemplates-användare

Som ett resultat sorteras posterna nu efter deras kund-ID. Men eftersom vi använde en lokal temporär tabell kan vi inte komma åt eller använda #test_local tabell i en annan session. Nästa exempel visar vad som kommer att hända om vi försöker komma åt #test_local i SQLQuery2.sql .

SQL Temp-tabeller och vyer för LuckyTemplates-användare

Baserat på föregående exempel, när du valde #test_local , visade det bara ett felmeddelande. Detta beror på att #test_local -tabellen bara finns i sessionen där den skapades, vilket är SQLQuery1.sql .

Skapa globala temptabeller i SQL

Därefter använder vi samma fråga som vi använde i #test_local . Men den här gången kommer vi att använda en global .

SQL Temp-tabeller och vyer för LuckyTemplates-användare

Om vi ​​nu väljer ##test_global och beställer posterna efter kund-ID, kommer det att visa samma utdata som det vi hade i #test_local eftersom vi använde samma fråga. 

SQL Temp-tabeller och vyer för LuckyTemplates-användare

Efter det kommer vi att försöka komma åt ##test_global- tabellen i en annan session genom att välja den. Detta fungerar sömlöst eftersom vi använder en global temporär tabell.

SQL Temp-tabeller och vyer för LuckyTemplates-användare

Vid det här laget lyfter vi fram skillnaden mellan lokala och globala temptabeller.

Kom ihåg att lokala temporära tabeller endast är tillgängliga i en session där de skapades . När du stänger den sessionen kommer den inte att existera längre.

Å andra sidan är globala temptabeller synliga för alla sessioner , såvida du inte stänger alla aktiva sessioner eller själva applikationen.

Skapa vyer i SQL

Vi ska nu skapa en vy. I det här exemplet har vi en befintlig fråga som denna.

SQL Temp-tabeller och vyer för LuckyTemplates-användare

Vi kan börja skapa en vy genom att lägga till kommandot CREATE VIEW till den frågan.

SQL Temp-tabeller och vyer för LuckyTemplates-användare

När kommandot körs skapas en vy i databasen som vi arbetar med. I det här fallet är det AdventureWorks2012 .

Vi bör också se dbo.CustomerView_v i mappen Views efter att ha uppdaterat den. För att uppdatera mappen Views, högerklicka på den och välj sedan Uppdatera .

SQL Temp-tabeller och vyer för LuckyTemplates-användare

Klicka på ikonen + till höger om mappen Views och dbo.CustomerView_v kommer att synas.

SQL Temp-tabeller och vyer för LuckyTemplates-användare

Du kan öppna den här vyn genom att högerklicka på dbo.CustomerView_v och välj sedan Välj Top 1000 Rows från alternativen. Detta kommer att visa 1000 poster i den vyn .

SQL Temp-tabeller och vyer för LuckyTemplates-användare

Efter detta kan vi nu använda dbo.CustomerView_v och utföra valfri operation på den precis som en tabell. Till exempel vill vi välja poster med SalesOrderID större än 50000 i dbo.CustomerView_v . I det här fallet kommer vi att använda följande kommando.

SQL Temp-tabeller och vyer för LuckyTemplates-användare

Nu kan vi köra en operation på vyn som vi har skapat.

Slutsats

Sammanfattningsvis har vi lärt oss de två typerna av tillfälliga tabeller tillsammans med deras skillnader och varför vi behöver använda dem. Dessutom har vi diskuterat att tillfälliga tabeller fungerar som ett sätt att fixa fel i dina frågor utan att skada den faktiska frågan.

Tänk på att tillfälliga tabeller endast är synliga för sessioner där de skapades. Därför kommer den inte längre att existera när vi har stängt de aktiva sessionerna eller själva applikationen.

Vi har också lärt oss att vyer inte lagrar data eller poster. Den visar bara resultat baserat på den fråga som du vill ska renderas. Dessa vyer lagras i vår databas när vi väl har skapat dem. 

Genom att lära dig dessa två har du nu möjligheten att snabbt utföra långa kommandon och enkelt ändra stora delar av datamängden .

Med vänliga hälsningar,

Hafiz


Upptäck unika insikter med LuckyTemplates TOPN-funktion

Upptäck unika insikter med LuckyTemplates TOPN-funktion

Den här bloggen innehåller LuckyTemplates TOPN DAX-funktion, som gör att du kan få unika insikter från dina data, vilket hjälper dig att fatta bättre marknadsföringsbeslut.

Datamodellering i LuckyTemplates med hjälp av stödtabeller

Datamodellering i LuckyTemplates med hjälp av stödtabeller

Lär dig några fantastiska analytiska tekniker som vi kan göra för datamodellering i LuckyTemplates med hjälp av DAX-stödtabeller.

Avancerad DAX för LuckyTemplates: Implementering av rankningslogik över unika insikter

Avancerad DAX för LuckyTemplates: Implementering av rankningslogik över unika insikter

Här dyker vi in ​​i LuckyTemplates Advanced DAX och implementerar rankningslogik för att få en mycket unik insikt. Jag visar också upp måttförgrening i det här exemplet.

LuckyTemplates What-If-parameterfunktion

LuckyTemplates What-If-parameterfunktion

Den här bloggen introducerar den nya funktionen i LuckyTemplates, analysparametern What-If. Du kommer att se hur det gör allt snabbt och enkelt för din scenarioanalys.

Använd LuckyTemplates Mät förgreningar för att kontrollera om dina marginaler ökar när intäkterna växer

Använd LuckyTemplates Mät förgreningar för att kontrollera om dina marginaler ökar när intäkterna växer

Lär dig hur du avgör om din intäktstillväxt är bra genom att kontrollera om dina marginaler ökade med hjälp av LuckyTemplates mäter förgrening.

LuckyTemplates parametrar via frågeredigerare

LuckyTemplates parametrar via frågeredigerare

Lär dig och förstå hur du kan skapa och använda LuckyTemplates-parametrar som är en kraftfull funktion i frågeredigeraren.

Runda stapeldiagram – En visualisering för din instrumentpanel

Runda stapeldiagram – En visualisering för din instrumentpanel

Denna handledning kommer att diskutera hur man skapar ett runt stapeldiagram med Charticulator. Du kommer att lära dig hur du designar dem för din LuckyTemplates-rapport.

PowerApps funktioner och formler | En introduktion

PowerApps funktioner och formler | En introduktion

Lär dig hur du använder PowerApps funktioner och formler för att förbättra funktionaliteten och ändra ett beteende i vår Power Apps canvas-app.

Pipe In R: Anslutningsfunktioner med Dplyr

Pipe In R: Anslutningsfunktioner med Dplyr

I den här handledningen kommer du att lära dig hur du kopplar ihop funktioner med hjälp av dplyr-röroperatorn i programmeringsspråket R.

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX från LuckyTemplates låter dig returnera rankningen av ett specifikt nummer i varje tabellrad som utgör en del av en lista med nummer.