samenvatting: in deze tutorial leert u hoe u SQL Server tijdelijke tabellen maakt en hoe u ze effectief kunt manipuleren.
tijdelijke tabellen zijn tabellen die tijdelijk bestaan op de SQL Server.
De tijdelijke tabellen zijn handig voor het opslaan van de directe resultaatsets die meerdere keren worden benaderd.
tijdelijke tabellen aanmaken
SQL Server bood twee manieren om tijdelijke tabellen aan te maken via SELECT INTO
en CREATE TABLE
statements.,
maak tijdelijke tabellen met SELECT INTO statement
de eerste manier om een tijdelijke tabel te maken is door het SELECT INTO
statement te gebruiken zoals hieronder getoond:
Code language: SQL (Structured Query Language) (sql)
de naam van de tijdelijke tabel begint met een hash-symbool (#
). Bijvoorbeeld, het volgende statement maakt een tijdelijke tabel met behulp van deSELECT INTO
statement:
in dit voorbeeld hebben we een tijdelijke tabel gemaakt met de naam #trek_products
met twee kolommen afgeleid van de select list van de SELECT
statement., Het statement creëerde de tijdelijke tabel en vulde gegevens van de production.products
tabel in de tijdelijke tabel.,
Na het uitvoeren van de instructie, kunt u vinden in de tijdelijke tabel naam gemaakt in de systeem-database met de naam tempdb
, die kan worden geraadpleegd via de SQL Server Management Studio met behulp van de volgende pad-Systeem-Databases > tempdb > Tijdelijke Tabellen zoals weergegeven in de volgende afbeelding:
Zoals je duidelijk kunt zien op de foto, de tijdelijke tabel bestaat ook uit een reeks van getallen als een postfix., Dit is een unieke identificatie voor de tijdelijke tabel. Omdat meerdere databaseverbindingen tijdelijke tabellen met dezelfde naam kunnen maken, voegt SQL Server automatisch dit unieke nummer toe aan het einde van de tijdelijke tabelnaam om onderscheid te maken tussen de tijdelijke tabellen.
maak tijdelijke tabellen met CREATE TABLE statement
de tweede manier om een tijdelijke tabel te maken is door de CREATE TABLE
statement:
Code language: SQL (Structured Query Language) (sql)
dit statement heeft dezelfde syntaxis als het maken van een reguliere tabel.,de tijdelijke tabel begint met een hash teken (#
)
Na afloop van de tijdelijke tabel maken, kunt u het invoegen van gegevens in deze tabel als een gewone tabel:
natuurlijk, je kunt je gegevens opvragen tegen het binnen de huidige sessie:
Code language: SQL (Structured Query Language) (sql)
Echter, als u een andere verbinding en probeer de query bovenstaande query, krijgt u de volgende fout:
Code language: SQL (Structured Query Language) (sql)
Dit is omdat de tijdelijke tabellen zijn alleen toegankelijk is binnen de sessie die ze gemaakt heeft.,
globale tijdelijke tabellen
soms wilt u een tijdelijke tabel maken die toegankelijk is voor alle verbindingen. In dit geval kunt u globale tijdelijke tabellen gebruiken.
In tegenstelling tot een tijdelijke tabel begint de naam van een globale tijdelijke tabel met een dubbel hash-symbool (##
).
de volgende statements maken eerst een globale tijdelijke tabel met de naam ##heller_products
en vullen vervolgens gegevens van de production.products
tabel in deze tabel:
nu kunt u de ##heller_products
tabel openen vanuit elke sessie.,
tijdelijke tabellen laten vallen
automatische verwijdering
SQL Server laat een tijdelijke tabel automatisch vallen wanneer u de verbinding sluit die deze heeft gemaakt.
SQL Server laat een globale tijdelijke tabel vallen zodra de verbinding die deze gemaakt heeft is gesloten en de queries tegen deze tabel van andere verbindingen zijn voltooid.,
handmatig verwijderen
van de verbinding waarin de tijdelijke tabel is gemaakt, kunt u de tijdelijke tabel handmatig verwijderen met behulp van de DROP TABLE
statement:
Code language: SQL (Structured Query Language) (sql)
in deze tutorial hebt u geleerd over tijdelijke tabellen van SQL Server en hoe u deze effectief kunt maken en verwijderen.