Tempová tabulka s hashtagem # nebo ## je dočasná tabulka, která je uložena v systémové databázi tempdb. Tabulka existuje pouze po dobu, po kterou je otevřena user session ID. Rozeznáváme 2 typy tempových tabulek:
- Lokální # tempová tabulka – je přístupná pouze v rámci dané session, tzn vidí ji pouze uživatel vykonávající skript
- Globální ## tempová tabulka – je přístupná z různých sessions, to znamená, že s ní mohou pracovat i ostatní uživatelé
Lokální # tempová tabulka
Lokální tempovou tabulku založíme jednoduše v rámci session 1:
SELECT 1 AS Number
INTO #Temp_table;
Pokud si otevřeme novou session (2) a spustíme dotaz na tuto tempovou tabulku, tak dostaneme chybuInvalid object name ‘#Temp_table’, protože temp tabulka je založena v session 1 a druhá session na ni nevidí
Globální ## temp tabulka
V původní session 1 si založme pro změnu stejnou tabulku, ale tentokrát bude globální (##Temp_table):
Když se teď dotážeme na tabulku z jiné session, tak dostaneme výsledek, protože tentokrát na tabulku jiná session vidí: