Jak fungují dočasné tabulky SQL Serveru?

Dočasné tabulky na serveru SQL Server dočasně ukládají data. Můžete provádět stejné operace – např VYBRAT A VLOŽIT A VYMAZAT A AKTUALIZACE – na dočasné tabulce, jako byste měli běžnou tabulku SQL.

Dočasné tabulky jsou v databázi tempdbJe vidět pouze po dobu trvání připojení. Při ztrátě připojení SQL Server odstraní dočasnou tabulku. Můžete jej také kdykoli výslovně smazat. Podívejte se, jak nainstalovat a nastavit Microsoft SQL Server na Ubuntu.

Typy dočasných tabulek SQL Server

Existují dva typy dočasných tabulek SQL Server: místní a globální.

Místní dočasná tabulka

Místní dočasná tabulka je viditelná pouze pro připojení, které ji vytvořilo. Při ztrátě tohoto připojení nebo odpojení uživatele od instance serveru SQL je místní dočasná tabulka automaticky odstraněna.

Chcete-li vytvořit místní dočasnou tabulku, použijte znak s jedním číslem (#) na začátku názvu tabulky s klauzulí VYTVOŘIT TABULKU . Zde je správná syntaxe.

Také číst  WhatsApp Web nefunguje v prohlížeči Google Chrome? Vyzkoušejte tato řešení

CREATE TABLE #TempTable(Column1 INT, Column2 VARCHAR(50));

Například následující kód vytvoří dočasnou tabulku s názvem TempCustomerSe jménem a polem pro e-mail.

CREATE TABLE #TempCustomer(ID int NOT NULL PRIMARY KEY Celé jméno VARCHAR(50), Email VARCHAR(50));

Obecný dočasný rozvrh

Globální dočasný plán je dočasný plán, který je viditelný pro všechna připojení a uživatele. SQL Server jej zahodí, když odpojí všechna připojení a uživatele odkazující na tabulku.

Chcete-li vytvořit globální dočasnou tabulku, přidejte před název tabulky znak dvojité hash (##) a použijte znak VYTVOŘIT TABULKU.

CREATE TABLE ##TempTable(Column1 INT, Column2 VARCHAR(50));

Následující kód vytvoří globální dočasnou tabulku s názvem TempCustomer .

CREATE TABLE ##TempCustomer(ID int NOT NULL PRIMÁRNÍ KLÍČ Celé jméno VARCHAR(50), Email VARCHAR(50));

Tento kód je podobný příkladu místní dočasné tabulky, pouze se dvěma hash kódy namísto jednoho. Nyní můžete používat standardní příkazy SQL k přidávání nebo manipulaci s daty v dočasné tabulce.

Také číst  Jak opravit chybu „Služba Windows Online Troubleshooting Service nefunguje“.

Jak odstranit dočasnou tabulku

Instance serveru SQL Server automaticky zahodí dočasnou tabulku, když se odpojí všichni uživatelé, kteří na ni odkazují. Nejlepším postupem je vždy explicitně odstranit dočasné tabulky, abyste uvolnili paměť tempdb.

Použijte příkaz k odstranění dočasné tabulky VAL TABULKA, POKUD EXISTUJEnásledovaný názvem dočasné tabulky.

Postup smazání tabulky #TempCustomer:

TABULKA ODPADŮ, POKUD EXISTUJE #TempCustomer

Použijte stejný kód, ale změňte název tabulky a zrušte globální dočasnou tabulku.

PUSTIT TABULKU, POKUD EXISTUJE ##TempCustomer

Typické použití dočasných SQL tabulek

Dočasné tabulky jsou užitečné, když potřebujete uložit mezivýsledky pro složité dotazy, které vyžadují další zpracování. Například při generování sestav potřebujete vytvořit dočasné tabulky pro ukládání výsledků dotazů z více databází. Poté můžete vygenerovat konečnou zprávu spuštěním dotazu uloženého v dočasných tabulkách.

Dalším scénářem, kde mohou být dočasné tabulky užitečné, je situace, kdy potřebujete výsledky dotazu z jedné tabulky ke spuštění jiného dotazu. Výsledky můžete uložit do dočasné tabulky a poté na ně odkazovat v novém dotazu. Dočasnou tabulku v podstatě používáte jako pracovní tabulku nebo dočasné úložiště k ukládání dat, která potřebujete k provedení konkrétní úlohy.

Také číst  Používejte iCloud na webu bez zařízení Apple

Použití dočasných tabulek v SQL Server

Dočasné tabulky SQL Serveru můžete použít k dočasnému ukládání dat a manipulaci s nimi. Existují dva typy dočasných tabulek, místní a globální. Místní dočasná tabulka je viditelná pro připojení, které ji vytvořilo, zatímco globální dočasná tabulka je viditelná pro všechna připojení.

Dočasné tabulky jsou automaticky zničeny při odpojení instance serveru. Pro úsporu paměti jej však po použití vždy vyhoďte. Nyní se můžete podívat, jak nainstalovat Azure Data Studio na Linux pro správu SQL serverů.