Les tables temporaires dans SQL Server stockent temporairement les données. Vous pouvez effectuer les mêmes opérations — par exemple SELECT و INSERT و EFFACER و MISE À JOUR — sur une table temporaire comme vous le feriez pour une table SQL normale.
Les tables temporaires sont dans une base de données tempdb Il n'est visible que pendant la durée de la connexion. Lorsque la connexion est terminée, la table temporaire est supprimée par SQL Server. Vous pouvez également le supprimer explicitement à tout moment. Vérifier Comment installer et configurer Microsoft SQL Server sur Ubuntu.
Liens rapides
Types de tables temporaires SQL Server
Il existe deux types de tables SQL Server temporaires : locales et globales.
Table temporaire locale
La 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, la table temporaire locale est automatiquement supprimée.
Pour créer une table temporaire locale, utilisez un seul symbole dièse (#) au début du nom de la table avec une clause CREER LA TABLE. Voici la bonne syntaxe.
CREATE TABLE #TempTable ( Column1 INT, Column2 VARCHAR(50) );
Par exemple, le code suivant crée une table temporaire appelée Client Temporaire Avec un nom et un champ email.
CREATE TABLE #TempCustomer ( ID int NOT NULL PRIMARY KEY FullName VARCHAR(50), Email VARCHAR(50) );
Horaire général temporaire
Le planning temporaire global est un planning temporaire visible par toutes les connexions et tous les utilisateurs. SQL Server le supprimera lorsqu'il se déconnectera avec toutes les connexions et tous les utilisateurs qui pointent vers la table.
Pour créer une table temporaire globale, préfixez le nom de la table avec un double symbole dièse (##) et utilisez le CREER LA TABLE.
CREATE TABLE ##TempTable ( Column1 INT, Column2 VARCHAR(50) );
Le code suivant crée une table temporaire globale appelée Client Temporaire.
CREATE TABLE ##TempCustomer ( ID int NOT NULL PRIMARY KEY FullName VARCHAR(50), Email VARCHAR(50) );
Ce code est similaire à l'exemple de table temporaire locale, mais avec deux codes de hachage au lieu d'un. Vous pouvez désormais utiliser des commandes SQL standard pour ajouter ou manipuler des données dans la table temporaire.
Comment supprimer une table temporaire
Une instance de SQL Server supprime automatiquement une table temporaire lorsque tous les utilisateurs pointant vers elle sont déconnectés. En tant que meilleure pratique, vous devez toujours supprimer explicitement les tables temporaires pour libérer de la mémoire tempdb.
Pour supprimer une table temporaire, utilisez une instruction SUPPRIMER LA TABLE SI EXISTE suivi du nom de la table temporaire.
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 des résultats intermédiaires pour des requêtes complexes nécessitant un traitement supplémentaire. Par exemple, lors de la génération de rapports, vous devrez peut-être créer des tables temporaires pour stocker les résultats des requêtes de plusieurs bases de données. Vous pouvez ensuite générer le rapport final en exécutant la requête stockée dans les tables temporaires.
Un autre scénario dans lequel les tables temporaires peuvent être utiles est lorsque 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, puis les référencer dans la nouvelle requête. Essentiellement, vous utilisez la table temporaire comme table de travail ou magasin temporaire pour stocker les données dont vous avez besoin pour effectuer une tâche spécifique.
Utilisation de tables temporaires dans SQL Server
Vous pouvez utiliser des tables temporaires SQL Server pour stocker et manipuler temporairement des données. Il existe deux types de tables temporaires, locales et globales. La table temporaire locale est visible pour la connexion via laquelle elle a été créée, tandis que la table temporaire globale est visible pour toutes les connexions.
Les tables temporaires sont automatiquement détruites lorsque l'instance de serveur est déconnectée. Cependant, pour préserver la mémoire, vous devez toujours le jeter après avoir fini de l'utiliser. Vous pouvez voir maintenant Comment installer Azure Data Studio sur Linux pour gérer les serveurs SQL.