sql >> Database >  >> RDS >> Sqlserver

Omvang van tijdelijke tabellen in SQL Server

Van CREATE TABLE :

Lokale tijdelijke tabellen zijn alleen zichtbaar in de huidige sessie

en (nog belangrijker):

Als een lokale tijdelijke tabel wordt gemaakt in een opgeslagen procedure of toepassing die tegelijkertijd door meerdere gebruikers kan worden uitgevoerd, moet de database-engine de tabellen kunnen onderscheiden die door de verschillende gebruikers zijn gemaakt [sic - dit zou vrijwel zeker moeten zeg sessies niet gebruikers] . De Database Engine doet dit door intern een numeriek achtervoegsel toe te voegen aan elke lokale tijdelijke tabelnaam.

Wat precies het punt weerlegt van degene die zei dat ze zouden worden gedeeld.

Het is ook niet nodig om DROP TABLE aan het einde van je procedure (vanaf dezelfde link):

Een lokale tijdelijke tabel die in een opgeslagen procedure is gemaakt, wordt automatisch verwijderd wanneer de opgeslagen procedure is voltooid



  1. Wat is het MySQL-equivalent van de CHOOSE()-functie van SQL Server?

  2. Hoe de uitvoer van de SELECT-query in de opdrachtprompt mooier maken?

  3. Hoe een externe sleutel in SQL toe te voegen?

  4. PostGIS in actie