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

SQL Server 2005 og midlertidig tabelomfang

Lokale midlertidige tabeller (start med #) er begrænset til din session; andre sessioner, selv fra den samme bruger/forbindelsesstreng, kan ikke se dem. Reglerne for levetiden afhænger af, om den lokale midlertidige tabel blev oprettet i en lagret procedure:

  • En lokal midlertidig tabel, der er oprettet i en lagret procedure, slettes, når proceduren afsluttes; andre lagrede procedurer eller opkaldsprocessen kan ikke se dem.
  • Andre lokale midlertidige tabeller slettes, når sessionen slutter.

Globale midlertidige tabeller (start med ##) deles mellem sessioner. De slettes, når:

  • Sessionen, der oprettede dem, slutter
  • OG ingen anden session henviser til dem

Denne kommando kan være praktisk til at se, hvilke midlertidige tabeller der findes:

select TABLE_NAME from tempdb.information_schema.tables 

Og dette er praktisk at droppe midlertidige tabeller, hvis du ikke er sikker på, at de eksisterer:

if object_id('tempdb..#SoTest') is not null drop table #SoTest

Se denne MSDN-artikel for mere information.



  1. SQLiteReadOnlyDatabaseException:forsøg på at skrive en skrivebeskyttet database (kode 1032)

  2. Returner som matrix af JSON-objekter i SQL (Postgres)

  3. LPAD() Funktion i PostgreSQL

  4. Forbind med i Oracle SQL