Les tables temporaires SQL Server sont un type spécial de tables écrites dans la base de données TempDB et agissent comme des tables régulières, fournissant un lieu de travail approprié pour le traitement des données intermédiaires avant d’enregistrer le résultat dans une table régulière, car elles ne peuvent vivre que pendant l’âge de la connexion à la base de données.,
Les tables SQL temp peuvent être utilisées pour améliorer les performances des procédures stockées en raccourcissant le temps de transaction, ce qui vous permet de préparer des enregistrements que vous modifierez dans la table SQL Server temp, puis d’ouvrir une transaction et d’effectuer les modifications.
Il existe quatre types principaux pour les tables SQL temp:
-
une table SQL Server temp locale, qui est nommée en commençant par un symbole # (par exemple #TempShipments), qui ne peut être référencée que par la session de base de données en cours et supprimée par sa déconnexion,
-
une table SQL Temp globale, qui, ## TempShipments), qui peut être référencé par n’importe quel processus de la base de données actuelle et supprimé lorsque la session de base de données d’origine qui a créé cette table temporaire est déconnectée ou jusqu’à ce que la dernière instruction qui référençait la table temporaire ne l’utilise plus, car toute personne ayant accès à la base de données tempdb système lorsque cette table temporaire SQL globale est créée pourra utiliser cette table,
-
une table temporaire SQL Server persistante nommée commençant par un préfixe TempDB tel que TempDB.DBO.TempShipments
-
et une Variable de Table qui commence par un préfixe @ (par exemple, @ TempShipments)
le moteur de base de données SQL Server peut distinguer les mêmes tables temporaires SQL créées lors de l’exécution de la même procédure stockée plusieurs fois simultanément en ajoutant un suffixe numérique généré par le système au nom de la table temporaire SQL Server. C’est pourquoi le nom de table SQL temp local ne peut pas dépasser 116 caractères.,
bien que les tables temporaires SQL Server et les variables de table soient stockées dans la base de données TempDB, il existe de nombreuses différences entre elles, telles que:
-
Les tables temporaires SQL sont créées à l’aide de L’instruction CREATE TABLE T-SQL, mais les variables de table sont créées à l’aide de
-
Vous pouvez modifier les tables temporaires SQL Server après l’avoir créées, mais les variables de table ne prennent en charge aucune instruction DDL comme ALTER statement.
-
Les tables SQL temp ne peuvent pas être utilisées dans les fonctions définies par l’utilisateur, mais les variables de table peuvent l’être.,
-
Les tables temporaires SQL Server honorent les transactions explicites définies par l’utilisateur, mais les variables de table ne peuvent pas participer à de telles transactions.
-
Les tables SQL temp prennent en charge l’ajout d’index en cluster et non en cluster après la création de la table SQL Server temp et implicitement en définissant une contrainte de clé primaire ou une contrainte de clé Unique pendant la création des tables, mais les variables de table ne prennent en charge que l’ajout,
-
Les tables SQL temp peuvent être supprimées explicitement, mais les variables de table ne peuvent pas être supprimées explicitement, en tenant compte du fait que les deux types sont supprimés automatiquement lorsque la session dans laquelle ils sont créés est déconnectée.
-
Les tables temporaires SQL Server peuvent être des tables temporelles locales au niveau de la procédure batch ou stockée dans laquelle la table a été déclarée ou des tables temporelles globales où elle peut être appelée en dehors de la portée de la procédure batch ou stockée, mais les variables de table ne peuvent être appelées que dans,