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

SQL Server 2005 et étendue de la table temporaire

Les tables temporaires locales (commençant par #) sont limitées à votre session ; les autres sessions, même à partir de la même chaîne utilisateur/connexion, ne peuvent pas les voir. Les règles de durée de vie varient selon que la table temporaire locale a été créée dans une procédure stockée :

  • Une table temporaire locale créée dans une procédure stockée est supprimée à la fin de la procédure ; les autres procédures stockées ou le processus appelant ne peuvent pas les voir.
  • Les autres tables temporaires locales sont supprimées à la fin de la session.

Les tables temporaires globales (commençant par ##) sont partagées entre les sessions. Ils sont supprimés lorsque :

  • La session qui les a créés se termine
  • ET aucune autre session n'y fait référence

Cette commande peut être pratique pour voir quelles tables temporaires existent :

select TABLE_NAME from tempdb.information_schema.tables 

Et c'est pratique pour supprimer des tables temporaires si vous n'êtes pas sûr qu'elles existent :

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

Consultez cet article MSDN pour plus d'informations.