sql >> Database >  >> RDS >> Sqlserver

Tijdelijk tafelbereik?

Ten eerste worden lokale tijdelijke tabellen die binnen een procedure zijn gemaakt, verwijderd zodra de procedure is voltooid. Van de BOL op tabel maken :

Als uw gegevenstoegangscode correct een verbinding opent, een opgeslagen procedure aanroept en vervolgens de verbinding sluit, wordt de tijdelijke tabel gemaakt in de procedure en wordt deze effectief vernietigd.

Ik zeg "effectief" om een ​​ander punt naar voren te brengen. Ik zou niet aanraden om de tijdelijke tabel aan het einde van uw procedure te laten vallen, hoewel ik een vinkje zou toevoegen net voordat ik de tijdelijke tabel heb gemaakt en deze zou laten vallen als deze bestaat (bijv. if object_id('tempdb..#Foo') is not null ). Het argument tegen het laten vallen van de temp-tabel aan het einde is dat door het aanroepen van de Drop-instructie, u SQL Server dwingt resources te besteden om de tabel ter plekke te vernietigen terwijl u wacht tot uw procedure is beëindigd. Als u het in plaats daarvan buiten het bereik laat, eindigt uw procedure onmiddellijk en laat u SQL Server de tabel vernietigen op een moment dat u zelf wilt.



  1. Hoe de resultatenset naar Json in MYSQL te converteren?

  2. Kan iemand helpen uitleggen waarom het niet gebruiken van een SQL JOIN een slechte gewoonte en verkeerd is?

  3. cakephp vriendschap tussen gebruikers Modellen aan elkaar koppelen

  4. Sorteren op datum &tijd in aflopende volgorde?