Les tables temporaires de SQL Server stockent des données temporairement. Vous pouvez effectuer les mêmes opérations (SELECT, INSERT, DELETE et UPDATE) sur une table temporaire que sur une table SQL ordinaire.


Les tables temporaires vivent dans la base de données tempdb et ne sont visibles que pendant la durée de la connexion. Lorsque vous mettez fin à la connexion, le serveur SQL supprime la table temporaire. Vous pouvez également la supprimer explicitement à tout moment.

Types de tables temporaires SQL Server

Il existe deux types de tables temporaires SQL Server : locales et globales.

Table temporaire locale

Une table temporaire locale n’est visible que par la connexion qui l’a créée. Lorsque cette connexion se termine, ou que l’utilisateur se déconnecte de l’instance de SQL Server, une table temporaire locale est automatiquement abandonnée.

Pour créer une table temporaire locale, utilisez un seul symbole dièse (#) au début du nom de la table avec l’instruction CREATE TABLE. Voici la syntaxe.

Lire  Les 8 meilleurs endroits pour trouver des emplois à domicile

 CREATE TABLE #TempTable (
   Column1 INT,
   Column2 VARCHAR(50)
);

Par exemple, le code suivant crée une table temporaire appelée TempCustomer avec un champ nom et un champ email.

 CREATE TABLE #TempCustomer (
   ID int NOT NULL PRIMARY KEY
   FullName VARCHAR(50),
   Email VARCHAR(50)
);

Table temporaire globale

Une table temporaire globale est une table temporaire visible par toutes les connexions et tous les utilisateurs. SQL Server l’abandonnera lorsque toutes les connexions et tous les utilisateurs qui font référence à la table se seront déconnectés.

Pour créer une table temporaire globale, préfixez le nom de la table par un double hachage (##) et utilisez l’instruction CREATE TABLE.

 CREATE TABLE ##TempTable (
   Column1 INT,
   Column2 VARCHAR(50)
);

Le code suivant crée une table temporaire globale nommée TempCustomer.

 CREATE TABLE ##TempCustomer (
   ID int NOT NULL PRIMARY KEY
   FullName VARCHAR(50),
   Email VARCHAR(50)
);

Ce code est similaire à l’exemple de la table temporaire locale, mais avec deux symboles de hachage au lieu d’un. Vous pouvez maintenant utiliser des commandes SQL standard pour ajouter ou manipuler les données de la table temporaire.

Comment supprimer une table temporaire

L’instance du serveur SQL abandonne automatiquement une table temporaire lorsque tous les utilisateurs qui y font référence se sont déconnectés. La meilleure pratique consiste à toujours supprimer explicitement vos tables temporaires afin de libérer la mémoire de tempdb.

Pour supprimer une table temporaire, utilisez l’instruction DROP TABLE IF EXISTS suivie du nom de la table temporaire.

Lire  7 erreurs à éviter lors de l'utilisation d'outils d'IA générative

Voici comment supprimer la table #TempCustomer :

 DROP TABLE IF EXISTS #TempCustomer

Utilisez le même code mais changez le nom de la table pour supprimer une table temporaire globale.

 DROP TABLE IF EXISTS ##TempCustomer

Utilisations typiques des tables temporaires SQL

Les tables temporaires sont utiles lorsque vous devez stocker les résultats intermédiaires de requêtes complexes que vous devez traiter ultérieurement. Par exemple, lors de la création de rapports, vous pouvez avoir besoin de créer des tables temporaires pour stocker les résultats de requêtes provenant de plusieurs bases de données. Vous pouvez ensuite générer le rapport final en exécutant une requête sur les tables temporaires.

Un autre scénario dans lequel les tables temporaires sont utiles est celui où vous avez besoin des résultats d’une requête d’une table pour exécuter une autre requête. Vous pouvez stocker les résultats dans une table temporaire et ensuite les référencer dans votre nouvelle requête. Essentiellement, vous utilisez la table temporaire comme table de travail ou table tampon pour contenir les données dont vous avez besoin pour effectuer une tâche spécifique.

Utilisation des tables temporaires dans SQL Server

Vous pouvez utiliser les tables temporaires de SQL Server pour stocker et traiter des données temporairement. Il existe deux types de tables temporaires, locales et globales. Une table temporaire locale est visible par la connexion dans laquelle elle a été créée, tandis qu’une table temporaire globale est visible par toutes les connexions.

Lire  De quels connecteurs d'alimentation une carte mère et un processeur ont-ils besoin ?

Les tables temporaires sont automatiquement détruites lorsque vous vous déconnectez de l’instance du serveur. Cependant, pour économiser de la mémoire, vous devriez toujours les abandonner après utilisation.