Podsumowanie: w tym samouczku dowiesz się, jak tworzyć tabele tymczasowe SQL Server i jak efektywnie nimi manipulować.
tabele tymczasowe to tabele, które istnieją tymczasowo na serwerze SQL.
tabele tymczasowe są przydatne do przechowywania zestawów natychmiastowych wyników, do których dostęp jest wielokrotnie uzyskiwany.
tworzenie tabel tymczasowych
SQL Server udostępnił dwa sposoby tworzenia tabel tymczasowych za pomocą instrukcjiSELECT INTO
orazCREATE TABLE
.,
Utwórz tymczasowe tabele za pomocą polecenia SELECT INTO
pierwszym sposobem utworzenia tymczasowej tabeli jest użycie polecenia SELECT INTO
jak pokazano poniżej:
Code language: SQL (Structured Query Language) (sql)
nazwa tymczasowej tabeli zaczyna się od symbolu skrótu (#
). Na przykład, poniższe polecenie tworzy tabelę tymczasową przy użyciu polecenia SELECT INTO
:
w tym przykładzie utworzyliśmy tabelę tymczasową o nazwie #trek_products
z dwiema kolumnami pochodzącymi z listy wyboru SELECT
., Polecenie wytworzyło tabelę tymczasową i wypełniło dane z tabeli production.products
do tabeli tymczasowej.,
Po wykonaniu polecenia można znaleźć tymczasową nazwę tabeli utworzoną w bazie danych systemu o nazwie tempdb
, do której można uzyskać dostęp za pośrednictwem SQL Server Management Studio przy użyciu następujących systemowych baz danych ścieżek > tempdb > tymczasowe tabele, jak pokazano na poniższym obrazku:
jak widać wyraźnie z obrazka, tymczasowa tabela również składa się z sekwencji liczb jako Postfix., Jest to unikalny identyfikator tabeli tymczasowej. Ponieważ wiele połączeń bazodanowych może tworzyć tymczasowe tabele o tej samej nazwie, SQL Server automatycznie dodaje ten unikalny numer na końcu tymczasowej nazwy tabeli, aby odróżnić tymczasowe tabele.
tworzenie tabel tymczasowych za pomocą instrukcji CREATE TABLE
drugim sposobem tworzenia tabeli tymczasowej jest użycie instrukcjiCREATE TABLE
:
Code language: SQL (Structured Query Language) (sql)
Ta instrukcja ma taką samą składnię jak tworzenie zwykłej tabeli.,tymczasowa tabela zaczyna się od symbolu hash (#
)
Po utworzeniu tymczasowej tabeli możesz wstawić dane do tej tabeli jako zwykłą tabelę:
oczywiście możesz odpytywać dane w bieżącej sesji:
Code language: SQL (Structured Query Language) (sql)
Jeśli jednak otworzysz inne połączenie i spróbujesz wykonać powyższe zapytanie, otrzymasz następujący błąd:
Code language: SQL (Structured Query Language) (sql)
dzieje się tak, ponieważ tymczasowe tabele są dostępne tylko w ramach sesji, która je utworzyła.,
globalne tabele tymczasowe
czasami możesz chcieć utworzyć tabelę tymczasową, która jest dostępna w różnych połączeniach. W takim przypadku można użyć globalnych tabel tymczasowych.
W przeciwieństwie do tabeli tymczasowej, nazwa globalnej tabeli tymczasowej zaczyna się od podwójnego symbolu skrótu (##
).
poniższe polecenia najpierw tworzą globalną tabelę tymczasową o nazwie##heller_products
, a następnie uzupełniają dane z tabeliproduction.products
do tej tabeli:
teraz możesz uzyskać dostęp do tabeli##heller_products
z dowolnej sesji.,
upuszczanie tabel tymczasowych
Automatyczne usuwanie
SQL Server upuszcza tabelę tymczasową automatycznie po zamknięciu połączenia, które ją utworzyło.
SQL Server upuszcza globalną tabelę tymczasową po zamknięciu połączenia, które ją utworzyło i zakończeniu zapytań dotyczących tej tabeli z innych połączeń.,
Ręczne usuwanie
z połączenia, w którym utworzono tymczasową tabelę, można ręcznie usunąć tymczasową tabelę za pomocą poleceniaDROP TABLE
:
Code language: SQL (Structured Query Language) (sql)
w tym samouczku nauczyłeś się o tymczasowych tabelach SQL Server oraz o tym, jak skutecznie je tworzyć i usuwać.