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

Ambito delle tabelle temporanee in SQL Server

Da CREATE TABLE :

Le tabelle temporanee locali sono visibili solo nella sessione corrente

e (soprattutto):

Se in una procedura memorizzata o in un'applicazione viene creata una tabella temporanea locale che può essere eseguita contemporaneamente da più utenti, il Motore di database deve essere in grado di distinguere le tabelle create dai diversi utenti [sic - quasi certamente questo dovrebbe diciamo sessioni non utenti] . Il Motore di database esegue questa operazione aggiungendo internamente un suffisso numerico a ogni nome di tabella temporanea locale.

Il che confuta esattamente il punto di chi ha detto che sarebbero stati condivisi.

Inoltre, non è necessario DROP TABLE al termine della tua procedura (sempre dallo stesso link):

Una tabella temporanea locale creata in una procedura memorizzata viene eliminata automaticamente al termine della procedura memorizzata