sql >> Database >  >> RDS >> Sqlserver

SQL Server 2005 en tijdelijk tabelbereik

Lokale tijdelijke tabellen (begin met #) zijn beperkt tot uw sessie; andere sessies, zelfs van dezelfde gebruiker/verbindingsreeks, kunnen ze niet zien. De regels voor de levensduur hangen af ​​van het feit of de lokale tijdelijke tabel is gemaakt in een opgeslagen procedure:

  • Een lokale tijdelijke tabel die is gemaakt in een opgeslagen procedure, wordt verwijderd wanneer de procedure eindigt; andere opgeslagen procedures, of het aanroepende proces, kunnen ze niet zien.
  • Andere lokale tijdelijke tabellen worden verwijderd wanneer de sessie eindigt.

Globale tijdelijke tabellen (beginnend met ##) worden gedeeld tussen sessies. Ze worden verwijderd wanneer:

  • De sessie waarin ze zijn gemaakt, eindigt
  • EN geen enkele andere sessie verwijst naar hen

Dit commando kan handig zijn om te zien welke tijdelijke tabellen er zijn:

select TABLE_NAME from tempdb.information_schema.tables 

En dit is handig om tijdelijke tabellen te verwijderen als je niet zeker weet of ze bestaan:

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

Zie dit MSDN-artikel voor meer informatie.



  1. SQL Server Database Back-up Encryptie

  2. Converteer een stringdatum naar datetime in Oracle

  3. V$SQL_SHARED_CURSOR TOP_LEVEL_RPI_CURSOR

  4. Tabel draaien/draaien met aggregatie in Oracle