sammanfattning: i den här guiden kommer du att lära dig att skapa SQL Server temporära tabeller och hur man manipulera dem effektivt.
tillfälliga tabeller är tabeller som finns tillfälligt på SQL Server.
de temporära tabellerna är användbara för att lagra de omedelbara resultatuppsättningarna som nås flera gånger.
skapa temporära tabeller
SQL Server tillhandahöll två sätt att skapa temporära tabeller viaSELECT INTO
ochCREATE TABLE
satser.,
skapa temporära tabeller med SELECT INTO statement
det första sättet att skapa en temporär tabell är att användaSELECT INTO
statement som visas nedan:
Code language: SQL (Structured Query Language) (sql)
namnet på den temporära tabellen börjar med en hash-symbol (#
). Till exempel skapar följande uttalande en tillfällig tabell med SELECT INTO
– satsen:
i det här exemplet skapade vi en tillfällig tabell med namnet #trek_products
med två kolumner härledda från väljlistan i SELECT
– satsen., Satsen skapade den temporära tabellen och befolkade data från tabellenproduction.products
I den temporära tabellen.,
När du har utfört satsen kan du hitta det temporära tabellnamnet som skapats i systemdatabasen som heter tempdb
, som kan nås via SQL Server Management Studio med hjälp av följande Sökvägssystem databaser > tempdb > temporära tabeller som visas i följande bild:
som du tydligt kan se från bilden består den tillfälliga tabellen också av en sekvens av siffror som en postfix., Detta är en unik identifierare för den tillfälliga tabellen. Eftersom flera databasanslutningar kan skapa tillfälliga tabeller med samma namn, lägger SQL Server automatiskt detta unika nummer i slutet av det temporära tabellnamnet för att skilja mellan de temporära tabellerna.
skapa temporära tabeller med CREATE TABLE statement
det andra sättet att skapa en temporär tabell är att användaCREATE TABLE
statement:
Code language: SQL (Structured Query Language) (sql)
detta uttalande har samma syntax som att skapa en vanlig tabell.,den temporära tabellen börjar med en hash-symbol (#
)
När du har skapat den temporära tabellen kan du infoga data i den här tabellen som en vanlig tabell:
Du kan naturligtvis fråga data mot den inom den aktuella sessionen:
Code language: SQL (Structured Query Language) (sql)
om du öppnar en annan anslutning och försöker fråga ovan fråga får du följande fel:
Code language: SQL (Structured Query Language) (sql)
detta beror på att de temporära tabellerna endast är tillgängliga inom sessionen som skapade dem.,
globala temporära tabeller
Ibland kanske du vill skapa en temporär tabell som är tillgänglig över anslutningar. I det här fallet kan du använda globala temporära tabeller.
Till skillnad från en tillfällig tabell börjar namnet på en global temporär tabell med en dubbel hash-symbol (##
).
följande uttalanden skapar först en global temporär tabell med namnet##heller_products
och fyller sedan data från tabellenproduction.products
I den här tabellen:
Nu kan du komma åt tabellen##heller_products
från vilken session som helst.,
släppa tillfälliga tabeller
automatisk borttagning
SQL Server släpper en tillfällig tabell automatiskt när du stänger anslutningen som skapade den.
SQL Server släpper en global temporär tabell när anslutningen som skapade den stängdes och frågorna mot den här tabellen från andra anslutningar slutförs.,
manuell radering
från anslutningen där den temporära tabellen skapades kan du manuellt ta bort den temporära tabellen genom att använda DROP TABLE
– satsen:
Code language: SQL (Structured Query Language) (sql)
i den här handledningen har du lärt dig om temporära tabeller för SQL Server och hur du skapar och tar bort dem effektivt.