Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Gültigkeitsbereich temporärer Tabellen in SQL Server

Aus CREATE TABLE :

Lokale temporäre Tabellen sind nur in der aktuellen Sitzung sichtbar

und (noch wichtiger):

Wenn eine lokale temporäre Tabelle in einer gespeicherten Prozedur oder Anwendung erstellt wird, die gleichzeitig von mehreren Benutzern ausgeführt werden kann, muss die Datenbank-Engine in der Lage sein, die von den verschiedenen Benutzern erstellten Tabellen zu unterscheiden [sic - das sollte es mit ziemlicher Sicherheit Sag Sitzungen, nicht Benutzer] . Die Datenbank-Engine tut dies, indem sie intern ein numerisches Suffix an jeden lokalen temporären Tabellennamen anhängt.

Was genau den Punkt widerlegt, der gesagt hat, dass sie geteilt werden würden.

Außerdem ist kein DROP TABLE erforderlich am Ende Ihres Verfahrens (wieder unter demselben Link):

Eine in einer gespeicherten Prozedur erstellte lokale temporäre Tabelle wird automatisch gelöscht, wenn die gespeicherte Prozedur beendet ist