Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Portée des tables temporaires dans SQL Server

Depuis CREATE TABLE :

Les tables temporaires locales ne sont visibles que dans la session en cours

et (plus important) :

Si une table temporaire locale est créée dans une procédure stockée ou une application qui peut être exécutée en même temps par plusieurs utilisateurs, le moteur de base de données doit être capable de distinguer les tables créées par les différents utilisateurs [sic - cela devrait presque certainement dites sessions pas utilisateurs] . Pour ce faire, le moteur de base de données ajoute en interne un suffixe numérique à chaque nom de table temporaire locale.

Ce qui réfute exactement le point de vue de celui qui a dit qu'ils seraient partagés.

De plus, il n'est pas nécessaire de DROP TABLE à la fin de votre procédure (à partir du même lien):

Une table temporaire locale créée dans une procédure stockée est supprimée automatiquement lorsque la procédure stockée est terminée