SQL Server Wstaw do tabeli temp

SQL Server Wstaw do tabeli temp

Tabele tymczasowe lub tabe. Tabele tymczasowe są przydatne do pracy z podzbiorami danych, które wymagałyby kopców określonych zapytań do filtrowania.

W tym przewodniku omówiono sposób pracy z tymczasowymi tabelami w SQL Server. Zaczniemy od podstaw i dowiemy się, jak tworzyć tabele tymczasowe, korzystać z globalnych tabel tymczasowych, wstawić dane do tabel tymczasowych i upuść tabele tymczasowe.

SQL Server Utwórz tabele tymczasowe

W SQL Server istnieją dwie podstawowe metody tworzenia tabel temp:

  1. Korzystanie z instrukcji SQL Select.
  2. Korzystanie z instrukcji Utwórz tabelę.

Spójrzmy na każdą z powyższych metod.

Korzystanie z instrukcji SQL Select

Możesz użyć Wybierz Instrukcja utworzenia tabeli tymczasowej i wstawienia danych z zdefiniowanego zapytania.

Składnia do tworzenia tabeli temp z instrukcją Select jest jak pokazano:

Wybierz kolumn_list do #Temporary_table_name z nazwy TABLE_NAME Where Warowel_Expression;

Używamy instrukcji Select, a następnie nazwy tabeli tymczasowej. Nazwa tabeli tymczasowej na serwerze SQL zaczyna się od znaku #.

Rozważ poniższy przykład, który tworzy tabelę tymczasową przy użyciu różnych kolumn istniejącej tabeli:

Użyj SalesDB;
Wybierz * do #Sales_TEMP ze sprzedaży, gdzie ilość> 5;

Powyższe zapytanie powinno wybrać dopasowane rekordy i wstawić je do określonej tabeli tymczasowej.

SQL Server przechowuje tabele tymczasowe w bazie danych tempdb. Jest to baza danych systemowych utworzona automatycznie przez SQL Server.

W SQL Server Management Studio możesz wyświetlić tymczasową tabelę utworzoną powyżej, nawigując: Bazy danych -> Bazy danych systemu -> Tempdb -> Tabele tymczasowe:

Każda tymczasowa tabela zawiera unikalny identyfikator postfix, w tym sekwencję wartości numerycznych. Wynika to z faktu, że wiele połączeń może tworzyć tymczasowe tabele o podobnych nazwach. SQL Server dołącza unikalną wartość numeryczną na końcu nazwy, aby uniknąć konfliktów.

Korzystanie z zapytania Table Table

Drugą metodą, której możemy użyć do utworzenia tabeli tymczasowej, jest SQL Utwórz tabelę oświadczenie. Ta metoda nie różni się bardzo od metody normalnej tabeli. Jednak nazwa tabeli zaczyna się od znaku #.

Na przykład:

Utwórz tabelę #My_Temp_Table (
Id Int Not Null tożsamość (1,1) klucz podstawowy,
Nazwa varchar (50)
);

Powyższe zapytanie utworzy tabelę tymczasową o określonej nazwie.

Po utworzeniu tabeli tymczasowej możemy wstawić dane jako normalną tabelę, jak pokazano w zapytaniu poniżej:

Użyj tempdb;
Wstaw do #MY_TEMP_TABLE (Nazwa)
Wartości („mysql”),
(„Postgresql”),
(„MongoDB”),
(„Sqlite”);

Jeśli potrzebujesz przechowywania rekordów w bazie danych tymczasowych, możesz użyć instrukcji Wybierz jak pokazano:

Wybierz * z #MY_TEMP_TABLE;

Przykładowe dane wyjściowe to jak pokazano:

SQL Server Drop Tabele

Po utworzeniu tabeli tymczasowej prawdopodobnie będziesz chciał go usunąć po użyciu. W SQL Server istnieją dwie metody upuszczania tymczasowego tabeli:

Zakończyć połączenie

SQL Server będzie automatycznie przenosił wszystkie tymczasowe tabele po zakończeniu połączenia, które je utworzone.

Jak wspomniano, tabela temperatury jest dostępna tylko w połączeniu, który ją tworzy. Dlatego po zamknięciu połączenia serwer SQL usuwa tabele i uwalnia zasoby dla innych połączeń.

Upuść

Drugą metodą, której można użyć do usunięcia tabeli tymczasowej, jest zapytanie SQL Drop. Na przykład, aby usunąć my_temp_table utworzony w poprzednich zapytaniach:

Upuść tabelę #My_Temp_Table;

Globalne tabele tymczasowe

Tabela temperatury jest dostępna tylko do połączenia utworzonego domyślnie. Możesz jednak utworzyć tabelę dostępną we wszystkich połączeniach na serwerze. Są one znane jako globalne tabele tymczasowe.

Aby utworzyć globalną temperaturę w SQL Server, użyj znaków podwójnych funtów (##).

Na przykład:

Utwórz tabelę ## my_temp_table (
Id Int Not Null tożsamość (1,1) klucz podstawowy,
Nazwa varchar (50)
);
Użyj tempdb;
Wstaw do ## my_temp_table (nazwa)
Wartości („mysql”),
(„Postgresql”),
(„MongoDB”),
(„Sqlite”);

W przeciwieństwie do jednej tabeli sesji, SQL Server upuszcza globalne tabele tymczasowe po zamknięciu utworzonego połączenia, a wszystkie inne połączenia są zamknięte.

W zamknięciu

W tym artykule zrozumiałeś, jak pracować z tymczasowymi tabelami na serwerze SQL. Tabele tymczasowe mogą być korzystne, gdy są stosowane.

Dziękuję za przeczytanie!