Az SQL Server ideiglenes táblái ideiglenesen tárolják az adatokat. Ugyanazokat a műveleteket, mint a SELECT, INSERT, DELETE és UPDATE, végrehajthatja egy ideiglenes táblán, mint egy normál SQL-táblában.
Az ideiglenes táblák a tempdb adatbázisban élnek, és csak a kapcsolat időtartama alatt láthatók. Amikor megszakítja a kapcsolatot, az SQL Server törli az ideiglenes táblát. Azt is bármikor kifejezetten törölheti.
Az SQL Server Temp Tables típusai
Az SQL Server ideiglenes tábláinak két típusa létezik: helyi és globális.
Helyi hőmérsékleti táblázat
A helyi ideiglenes tábla csak az azt létrehozó kapcsolat számára látható. Amikor ez a kapcsolat véget ér, vagy a felhasználó bontja a kapcsolatot a SQL szerver Például egy helyi ideiglenes tábla automatikusan eldobásra kerül.
Helyi ideiglenes tábla létrehozásához használjon egyetlen hash szimbólumot (#) a táblanév elején a CREATE TABLE utasítással. Itt van a szintaxis.
TEREMTASZTAL#TempTable (
1. oszlop INT,
2. oszlop VARCHAR(50)
);
Például a következő kód létrehoz egy ideiglenes táblát TempCustomer névvel és e-mail mezővel.
TEREMTASZTAL#TempCustomer (
ID int NEM NULL ELSŐDLEGES KULCS
Teljes név VARCHAR(50),
E-mail VARCHAR(50)
);
Globális hőmérsékleti táblázat
A globális ideiglenes tábla egy ideiglenes tábla, amelyet minden kapcsolat és felhasználó láthat. Az SQL Server eldobja, ha a táblára hivatkozó összes kapcsolat és felhasználó megszakadt.
Globális ideiglenes tábla létrehozásához írja be a tábla nevét dupla kivonattal (##), és használja a CREATE TABLE utasítást.
TEREMTASZTAL##TempTable (
1. oszlop INT,
2. oszlop VARCHAR(50)
);
A következő kód létrehoz egy TempCustomer nevű globális ideiglenes táblát.
TEREMTASZTAL##TempCustomer (
ID int NEM NULL ELSŐDLEGES KULCS
Teljes név VARCHAR(50),
E-mail VARCHAR(50)
);
Ez a kód hasonló a helyi temp tábla példájához, csak két hash szimbólummal egy helyett. Most már használhatja szabványos SQL parancsok az adatok hozzáadásához vagy manipulálásához a temp táblázatban.
Hogyan dobjunk le egy temp táblázatot
Az SQL Server-példány automatikusan eldob egy ideiglenes táblát, amikor az összes rá hivatkozó felhasználó megszakadt. A legjobb gyakorlat szerint mindig kifejezetten el kell dobnia a temp táblákat, hogy felszabadítsa a tempdb memóriát.
Egy ideiglenes tábla eldobásához használja a DROP TABLE IF EXISTS utasítást, majd az ideiglenes tábla nevét.
A #TempCustomer táblázat eldobása a következőképpen történik:
CSEPPASZTALHALÉTEZIK#TempCustomer
Használja ugyanazt a kódot, de cserélje fel a tábla nevét, hogy eldobjon egy globális ideiglenes táblát.
CSEPPASZTALHALÉTEZIK##TempCustomer
Az SQL Temp Tables tipikus felhasználási módjai
Az ideiglenes táblák akkor hasznosak, ha összetett lekérdezések közbenső eredményeit kell tárolni, amelyeket tovább kell feldolgozni. Például jelentések létrehozásakor ideiglenes táblákat kell létrehoznia több adatbázisból származó lekérdezési eredmények tárolására. Ezután létrehozhatja a végső jelentést az ideiglenes táblák lekérdezésével.
Egy másik forgatókönyv, ahol az ideiglenes táblák hasznosak, az, amikor egy tábla lekérdezési eredményeire van szüksége egy másik lekérdezés futtatásához. Az eredményeket ideiglenes táblában tárolhatja, majd hivatkozhat rájuk az új lekérdezésben. Lényegében az ideiglenes táblát munka- vagy puffertáblaként használja az adott feladat végrehajtásához szükséges adatok tárolására.
Temp Tables használata SQL Serverben
Az SQL Server ideiglenes táblái segítségével ideiglenesen tárolhatja és feldolgozhatja az adatokat. Kétféle temp tábla létezik, helyi és globális. A helyi ideiglenes tábla látható annak a kapcsolatnak, amelyben létrehozták, míg egy globális ideiglenes tábla látható az összes kapcsolaton.
Az ideiglenes táblák automatikusan megsemmisülnek, amikor leválasztja a kapcsolatot a kiszolgálópéldánnyal. A memória megtakarítása érdekében azonban használat után mindig ejtse le őket.