Čitatelji poput vas podržavaju MUO. Kada kupite putem poveznica na našoj stranici, možemo zaraditi partnersku proviziju. Čitaj više.

Privremene tablice SQL Servera privremeno pohranjuju podatke. Možete izvesti iste operacije—kao što su SELECT, INSERT, DELETE i UPDATE—na privremenoj tablici kao što biste to učinili s običnom SQL tablicom.

Privremene tablice žive u bazi podataka tempdb i vidljive su samo tijekom trajanja veze. Kada prekinete vezu, SQL Server briše privremenu tablicu. Također ga možete izričito izbrisati u bilo kojem trenutku.

Vrste privremenih tablica SQL poslužitelja

Postoje dvije vrste privremenih tablica SQL Servera: lokalne i globalne.

Tablica lokalne temperature

Lokalna privremena tablica vidljiva je samo vezi koja ju je stvorila. Kada ta veza završi ili se korisnik prekine s SQL poslužitelj na primjer, lokalna privremena tablica se automatski ispušta.

Da biste kreirali lokalnu privremenu tablicu, upotrijebite jedan simbol hash (#) na početku naziva tablice s naredbom CREATE TABLE. Evo sintakse.

instagram viewer
STVORITISTOL#TempTable (
Stupac1 INT,
Stupac 2 VARCHAR(50)
);

Na primjer, sljedeći kod stvara privremenu tablicu pod nazivom TempCustomer s poljem imena i e-pošte.

STVORITISTOL#TempCustomer (
ID int NIJE NULL PRIMARNI KLJUČ
Puno ime VARCHAR(50),
Pošalji e-poštu VARCHAR(50)
);

Tablica globalne temperature

Globalna privremena tablica je privremena tablica vidljiva svim vezama i korisnicima. SQL Server će ga ispustiti kada se sve veze i korisnici koji referenciraju tablicu prekinu.

Da biste stvorili globalnu privremenu tablicu, imenu tablice dodajte dvostruke hashove (##) i upotrijebite naredbu CREATE TABLE.

STVORITISTOL##Privremena tablica (
Stupac1 INT,
Stupac 2 VARCHAR(50)
);

Sljedeći kod stvara globalnu privremenu tablicu pod nazivom TempCustomer.

STVORITISTOL##Privremeni kupac (
ID int NIJE NULL PRIMARNI KLJUČ
Puno ime VARCHAR(50),
Pošalji e-poštu VARCHAR(50)
);

Ovaj kod je sličan primjeru za lokalnu privremenu tablicu, samo s dva simbola hash umjesto jednog. Sada možete koristiti standardne SQL naredbe za dodavanje ili manipuliranje podacima u privremenoj tablici.

Kako ukloniti privremenu tablicu

Instanca SQL Servera automatski ispušta privremenu tablicu kada svi korisnici koji je upućuju prekinu vezu. Kao najbolja praksa, uvijek biste trebali eksplicitno ispustiti svoje privremene tablice da biste oslobodili memoriju tempdb.

Za ispuštanje privremene tablice upotrijebite naredbu DROP TABLE IF EXISTS iza koje slijedi naziv privremene tablice.

Evo kako ispustiti tablicu #TempCustomer:

PADSTOLAKOPOSTOJI#PrivremeniKupac

Upotrijebite isti kod, ali zamijenite naziv tablice da ispustite globalnu privremenu tablicu.

PADSTOLAKOPOSTOJI##Privremeni kupac

Tipična upotreba SQL privremenih tablica

Privremene tablice korisne su kada trebate pohraniti međurezultate složenih upita koje trebate dodatno obraditi. Na primjer, kada stvarate izvješća, možda ćete morati stvoriti privremene tablice za pohranjivanje rezultata upita iz nekoliko baza podataka. Zatim možete generirati konačno izvješće pokretanjem upita prema privremenim tablicama.

Još jedan scenarij u kojem su privremene tablice korisne je kada trebate rezultate upita iz jedne tablice za izvođenje drugog upita. Rezultate možete pohraniti u privremenu tablicu i zatim referencirati na njih u svom novom upitu. U biti, privremenu tablicu koristite kao radnu ili međuspremničku tablicu za čuvanje podataka koji su vam potrebni za izvođenje određenog zadatka.

Korištenje privremenih tablica u SQL Serveru

Možete koristiti privremene tablice SQL Servera za privremenu pohranu i obradu podataka. Postoje dvije vrste privremenih tablica, lokalne i globalne. Lokalna privremena tablica vidljiva je vezi u kojoj je stvorena, dok je globalna privremena tablica vidljiva u svim vezama.

Privremene tablice automatski se uništavaju kada prekinete vezu s instancom poslužitelja. Međutim, kako biste sačuvali memoriju, uvijek ih trebate ispustiti nakon upotrebe.