sql >> Database teknologi >  >> RDS >> Sqlserver

Midlertidig tabelomfang?

Først slettes lokale midlertidige tabeller, der er oprettet i en procedure, når proceduren er færdig. Fra BOL on Create Table :

Hvis din dataadgangskode åbner en forbindelse korrekt, kalder en lagret procedure og derefter lukker forbindelsen, oprettes den midlertidige tabel i proceduren, og den bliver effektivt ødelagt.

Jeg siger "effektivt" for at bringe et andet punkt op. Jeg vil ikke anbefale at droppe temp-tabellen i slutningen af ​​din procedure, selvom jeg ville tilføje en kontrol lige før jeg oprettede temp-tabellen og droppe den, hvis den findes (f.eks. if object_id('tempdb..#Foo') is not null ). Argumentet imod at droppe temp-tabellen i slutningen er, at ved at kalde Drop-sætningen tvinger du SQL Server til at bruge ressourcer på at ødelægge tabellen der og da, mens du venter på, at din procedure slutter. Hvis du i stedet lader det gå uden for scope, afsluttes din procedure med det samme, og du lader SQL Server ødelægge bordet på et tidspunkt efter eget valg.



  1. Valg af processor til SQL Server 2014 – Del 1

  2. Få resultater fra mysql baseret på længdegrad

  3. PreparedStatement ignorerer parametre i forespørgslen:java.sql.SQLException:Parameterindeks uden for område (1> antal parametre, som er 0)

  4. MySQL deadlock-fejl