Tabele tymczasowe programu SQL Server tymczasowo przechowują dane. Na tabeli tymczasowej można wykonywać te same operacje, jak SELECT, INSERT, DELETE i UPDATE, tak jak na zwykłej tabeli SQL.
Tabele tymczasowe znajdują się w bazie danych tempdb i są widoczne tylko podczas trwania połączenia. Po zakończeniu połączenia SQL Server usuwa tabelę tymczasową. W każdej chwili możesz go również jawnie usunąć.
Typy tabel tymczasowych programu SQL Server
Istnieją dwa typy tabel tymczasowych programu SQL Server: lokalne i globalne.
Lokalna tabela temp
Lokalna tabela tymczasowa jest widoczna tylko dla połączenia, które ją utworzyło. Gdy to połączenie zostanie zakończone lub użytkownik rozłączy się z serwerem Serwer SQL instancji lokalna tabela tymczasowa jest automatycznie usuwana.
Aby utworzyć lokalną tabelę tymczasową, użyj pojedynczego symbolu krzyżyka (#) na początku nazwy tabeli z instrukcją CREATE TABLE. Oto składnia.
TWORZYĆTABELA#Tabela Tymczasowa (
Kolumna 1 INT,
Kolumna 2 VARCHAR(50)
);
Na przykład poniższy kod tworzy tymczasową tabelę o nazwie TempCustomer z polem nazwy i adresu e-mail.
TWORZYĆTABELA#TymczasowyKlient (
ID int NIE NULL KLUCZ PODSTAWOWY
Imię i Nazwisko VARCHAR(50),
E-mail VARCHAR(50)
);
Globalna tabela temp
Globalna tabela tymczasowa to tymczasowa tabela widoczna dla wszystkich połączeń i użytkowników. SQL Server usunie go, gdy wszystkie połączenia i użytkownicy, którzy odwołują się do tabeli, zostaną rozłączeni.
Aby utworzyć globalną tabelę tymczasową, poprzedź nazwę tabeli podwójnymi skrótami (##) i użyj instrukcji CREATE TABLE.
TWORZYĆTABELA##Tabela Tymczasowa (
Kolumna 1 INT,
Kolumna 2 VARCHAR(50)
);
Poniższy kod tworzy globalną tabelę tymczasową o nazwie TempCustomer.
TWORZYĆTABELA##Tymczasowy Klient (
ID int NIE NULL KLUCZ PODSTAWOWY
Imię i Nazwisko VARCHAR(50),
E-mail VARCHAR(50)
);
Ten kod jest podobny do przykładu dla lokalnej tabeli tymczasowej, tylko z dwoma symbolami skrótu zamiast jednego. Możesz teraz użyć standardowe polecenia SQL aby dodać lub manipulować danymi w tabeli tymczasowej.
Jak upuścić tabelę tymczasową
Wystąpienie programu SQL Server automatycznie usuwa tabelę tymczasową, gdy wszyscy użytkownicy, którzy się do niej odwołują, rozłączyli się. Najlepszym rozwiązaniem jest zawsze jawne usuwanie tabel tymczasowych, aby zwolnić pamięć bazy danych tempdb.
Aby usunąć tabelę tymczasową, użyj instrukcji DROP TABLE IF EXISTS, po której następuje nazwa tabeli tymczasowej.
Oto jak usunąć tabelę #TempCustomer:
UPUSZCZAĆTABELAJEŚLIISTNIEJE#TymczasowyKlient
Użyj tego samego kodu, ale zamień nazwę tabeli, aby usunąć globalną tabelę tymczasową.
UPUSZCZAĆTABELAJEŚLIISTNIEJE##Tymczasowy Klient
Typowe zastosowania tabel tymczasowych SQL
Tabele tymczasowe są przydatne, gdy trzeba przechowywać pośrednie wyniki złożonych zapytań, które trzeba dalej przetwarzać. Na przykład podczas tworzenia raportów może być konieczne utworzenie tabel tymczasowych do przechowywania wyników zapytań z kilku baz danych. Następnie można wygenerować raport końcowy, uruchamiając kwerendę względem tabel tymczasowych.
Innym scenariuszem, w którym tabele tymczasowe są przydatne, jest sytuacja, w której wyniki zapytania z jednej tabeli są potrzebne do uruchomienia innego zapytania. Możesz przechowywać wyniki w tabeli tymczasowej, a następnie odwoływać się do nich w nowym zapytaniu. Zasadniczo używasz tabeli tymczasowej jako tabeli roboczej lub buforowej do przechowywania danych potrzebnych do wykonania określonego zadania.
Używanie tabel tymczasowych w SQL Server
Tabeli tymczasowych programu SQL Server można używać do tymczasowego przechowywania i przetwarzania danych. Istnieją dwa typy tabel tymczasowych, lokalne i globalne. Lokalna tabela tymczasowa jest widoczna dla połączenia, w którym została utworzona, podczas gdy globalna tabela tymczasowa jest widoczna we wszystkich połączeniach.
Tabele tymczasowe są automatycznie niszczone po odłączeniu od instancji serwera. Aby jednak oszczędzać pamięć, należy je zawsze upuszczać po użyciu.