Začasne tabele strežnika SQL Server začasno shranjujejo podatke. Na začasni tabeli lahko izvajate enake operacije, kot so IZBERI, VSTAVI, IZBRIŠI in POSODOBI, kot bi jih izvajali z običajno tabelo SQL.
Začasne tabele živijo v bazi podatkov tempdb in so vidne samo med trajanjem povezave. Ko prekinete povezavo, SQL Server izbriše začasno tabelo. Prav tako ga lahko kadar koli izrecno izbrišete.
Vrste začasnih tabel strežnika SQL
Obstajata dve vrsti začasnih tabel SQL Server: lokalne in globalne.
Lokalna tabela temp
Lokalna začasna tabela je vidna samo povezavi, ki jo je ustvarila. Ko se ta povezava konča ali ko uporabnik prekine povezavo z SQL Server na primer, se lokalna začasna tabela samodejno izbriše.
Če želite ustvariti lokalno začasno tabelo, uporabite en sam simbol zgoščene (#) na začetku imena tabele s stavkom CREATE TABLE. Tukaj je sintaksa.
USTVARJANJETABELA#TempTable (
Stolpec1 INT,
Stolpec2 VARCHAR(50)
);
Naslednja koda na primer ustvari začasno tabelo z imenom TempCustomer s poljem za ime in e-pošto.
USTVARJANJETABELA#TempCustomer (
ID int NI NULL PRIMARNI KLJUČ
Polno ime VARCHAR(50),
Pošlji e-pošto VARCHAR(50)
);
Tabela globalnih temperatur
Globalna začasna tabela je začasna tabela, vidna vsem povezavam in uporabnikom. SQL Server ga bo izpustil, ko bodo vse povezave in uporabniki, ki se sklicujejo na tabelo, prekinili povezavo.
Če želite ustvariti globalno začasno tabelo, pred ime tabele dodajte dvojne razpršitve (##) in uporabite stavek CREATE TABLE.
USTVARJANJETABELA##TempTable (
Stolpec1 INT,
Stolpec2 VARCHAR(50)
);
Naslednja koda ustvari globalno začasno tabelo z imenom TempCustomer.
USTVARJANJETABELA##TempCustomer (
ID int NI NULL PRIMARNI KLJUČ
Polno ime VARCHAR(50),
Pošlji e-pošto VARCHAR(50)
);
Ta koda je podobna primeru za lokalno začasno tabelo, le z dvema simboloma zgoščene vrednosti namesto enega. Zdaj lahko uporabite standardni ukazi SQL za dodajanje ali urejanje podatkov v začasni tabeli.
Kako odstraniti začasno tabelo
Primerek SQL Server samodejno izpusti začasno tabelo, ko vsi uporabniki, ki se sklicujejo nanjo, prekinejo povezavo. Najboljša praksa je, da svoje začasne tabele vedno izrecno izpustite, da sprostite pomnilnik tempdb.
Če želite izbrisati začasno tabelo, uporabite stavek DROP TABLE IF EXISTS, ki mu sledi ime začasne tabele.
Evo, kako spustite tabelo #TempCustomer:
DROPTABELAČEOBSTAJA#TempCustomer
Uporabite isto kodo, vendar zamenjajte ime tabele, da odstranite globalno začasno tabelo.
DROPTABELAČEOBSTAJA##TempCustomer
Tipične uporabe začasnih tabel SQL
Začasne tabele so uporabne, ko morate shraniti vmesne rezultate kompleksnih poizvedb, ki jih morate nadalje obdelati. Na primer, ko ustvarjate poročila, boste morda morali ustvariti začasne tabele za shranjevanje rezultatov poizvedb iz več baz podatkov. Nato lahko ustvarite končno poročilo tako, da zaženete poizvedbo za začasne tabele.
Drug scenarij, kjer so začasne tabele uporabne, je, ko potrebujete rezultate poizvedbe iz ene tabele za izvajanje druge poizvedbe. Rezultate lahko shranite v začasno tabelo in se nato sklicujete nanjo v novi poizvedbi. V bistvu uporabljate začasno tabelo kot delovno ali vmesno tabelo za shranjevanje podatkov, ki jih potrebujete za izvedbo določene naloge.
Uporaba začasnih tabel v strežniku SQL Server
Za začasno shranjevanje in obdelavo podatkov lahko uporabite začasne tabele SQL Server. Obstajata dve vrsti začasnih tabel, lokalne in globalne. Lokalna začasna tabela je vidna povezavi, v kateri je ustvarjena, medtem ko je globalna začasna tabela vidna v vseh povezavah.
Začasne tabele se samodejno uničijo, ko prekinete povezavo s primerkom strežnika. Da pa ohranite spomin, jih po uporabi vedno odvrzite.