Čitatelia ako vy pomáhajú podporovať MUO. Keď uskutočníte nákup pomocou odkazov na našej stránke, môžeme získať pridruženú províziu. Čítaj viac.

Dočasné tabuľky servera SQL Server dočasne ukladajú údaje. Na dočasnej tabuľke môžete vykonávať rovnaké operácie – ako SELECT, INSERT, DELETE a UPDATE – ako pri bežnej tabuľke SQL.

Dočasné tabuľky žijú v databáze tempdb a sú viditeľné iba počas trvania pripojenia. Keď ukončíte pripojenie, SQL Server vymaže dočasnú tabuľku. Môžete ho tiež kedykoľvek explicitne odstrániť.

Typy tabuliek SQL Server Temp

Existujú dva typy dočasných tabuliek servera SQL Server: lokálne a globálne.

Miestna tabuľka teplôt

Lokálna dočasná tabuľka je viditeľná iba pre pripojenie, ktoré ju vytvorilo. Keď sa toto pripojenie skončí alebo sa používateľ odpojí od SQL Server napríklad lokálna dočasná tabuľka sa automaticky zruší.

Ak chcete vytvoriť lokálnu dočasnú tabuľku, použite jeden symbol hash (#) na začiatku názvu tabuľky s príkazom CREATE TABLE. Tu je syntax.

VYTVORIŤTABLE#TempTable (
Stĺpec 1 INT,
Stĺpec 2 VARCHAR(50)
);
instagram viewer

Napríklad nasledujúci kód vytvorí dočasnú tabuľku s názvom TempCustomer s názvom a e-mailovým poľom.

VYTVORIŤTABLE#TempCustomer (
ID int NIE JE NULL PRIMÁRNY KĽÚČ
Celé meno VARCHAR(50),
E-mail VARCHAR(50)
);

Globálna tabuľka teplôt

Globálna dočasná tabuľka je dočasná tabuľka viditeľná pre všetky pripojenia a používateľov. SQL Server ho zruší, keď sa odpojí všetky pripojenia a používatelia, ktorí odkazujú na tabuľku.

Ak chcete vytvoriť globálnu dočasnú tabuľku, pred názov tabuľky vložte dvojité hash (##) a použite príkaz CREATE TABLE.

VYTVORIŤTABLE##TempTable (
Stĺpec 1 INT,
Stĺpec 2 VARCHAR(50)
);

Nasledujúci kód vytvorí globálnu dočasnú tabuľku s názvom TempCustomer.

VYTVORIŤTABLE##TempCustomer (
ID int NIE JE NULL PRIMÁRNY KĽÚČ
Celé meno VARCHAR(50),
E-mail VARCHAR(50)
);

Tento kód je podobný príkladu pre lokálnu dočasnú tabuľku, len s dvoma hash symbolmi namiesto jedného. Teraz môžete použiť štandardné príkazy SQL na pridávanie alebo manipuláciu s údajmi v dočasnej tabuľke.

Ako zrušiť tabuľku teplôt

Inštancia servera SQL Server automaticky zruší dočasnú tabuľku, keď sa odpojí všetci používatelia, ktorí na ňu odkazujú. Ako osvedčený postup by ste mali vždy explicitne zrušiť svoje dočasné tabuľky, aby ste uvoľnili pamäť tempdb.

Ak chcete zrušiť dočasnú tabuľku, použite príkaz DROP TABLE IF EXISTS, za ktorým nasleduje názov dočasnej tabuľky.

Tu je postup, ako zrušiť tabuľku #TempCustomer:

POKLESTABLEAKEXISTUJE#TempCustomer

Použite rovnaký kód, ale zmeňte názov tabuľky, aby ste zrušili globálnu dočasnú tabuľku.

POKLESTABLEAKEXISTUJE##TempCustomer

Typické použitie SQL Temp tabuliek

Dočasné tabuľky sú užitočné, keď potrebujete uložiť medzivýsledky zložitých dotazov, ktoré potrebujete ďalej spracovávať. Napríklad pri vytváraní zostáv možno budete musieť vytvoriť dočasné tabuľky na ukladanie výsledkov dotazov z niekoľkých databáz. Potom môžete vygenerovať záverečnú správu spustením dotazu na dočasné tabuľky.

Ďalším scenárom, kde sú dočasné tabuľky užitočné, je situácia, keď potrebujete výsledky dotazu z jednej tabuľky na spustenie iného dotazu. Výsledky môžete uložiť do dočasnej tabuľky a potom na ňu odkazovať vo svojom novom dotaze. V podstate používate dočasnú tabuľku ako pracovnú alebo vyrovnávaciu tabuľku na uchovávanie údajov, ktoré potrebujete na vykonanie konkrétnej úlohy.

Používanie tabuliek Temp na serveri SQL Server

Dočasné tabuľky SQL Servera môžete použiť na dočasné ukladanie a spracovanie údajov. Existujú dva typy dočasných tabuliek, lokálne a globálne. Lokálna dočasná tabuľka je viditeľná pre pripojenie, v ktorom bola vytvorená, zatiaľ čo globálna dočasná tabuľka je viditeľná vo všetkých pripojeniach.

Dočasné tabuľky sa automaticky zničia, keď sa odpojíte od inštancie servera. Aby ste však ušetrili pamäť, mali by ste ich po použití vždy zhodiť.