L’instruction SQL DROP TABLE vous permet de supprimer une table de la base de données. Si la table n’existait pas, tenter de la supprimer provoquerait une erreur.

L’instruction SQL DROP TABLE IF EXISTS permet de vérifier que la table existe avant de tenter la suppression (suppression) de la table. Si la table n’existe pas, L’instruction DROP TABLE n’est pas exécutée, donc aucune erreur ne se produit.,

syntaxe

la syntaxe peut différer légèrement selon la base de données que vous exécutez.

SQL Server

DROP TABLE TableName

DROP S’il EXISTE, est uniquement disponible à partir de SQL Server 2016.

MySQL

DROP TABLE TableName

le mot-clé temporaire peut être utilisé dans MySQL pour spécifier que seule une table temporaire peut être supprimée.,

exemples d’utilisation de DROP TABLE IF EXISTS

exemple 1 – Suppression d’une table à l’aide de DROP TABLE avec la clause IF EXISTS

exemple 2 – Erreur qui se produit lors de l’utilisation de DROP TABLE sans la clause IF EXISTS

-- if we attempt to DROP the table that we just created and dropped then we will get an errorDROP TABLE dbo.Country;

Pays », parce qu’il n’existe pas ou que vous n’avez pas d’autorisation.,

exemple 3 – Utilisation avec des tables temporaires dans SQL Server

exemple 4 – Utilisation avec des tables temporaires dans MySQL

-- temp table MySQLCREATE TEMPORARY TABLE Continent( Id INT PRIMARY KEY, Continent varchar(50));DROP TEMPORARY TABLE IF EXISTS Continent;

méthodes alternatives pour supprimer une table avec une vérification exists

Vous pouvez utiliser INFORMATION_SCHEMA de la base de données pour Cette méthode est prise en charge par la plupart des bases de données majore, y compris SQL Server, MySQL, Oracle, PostGres, IBM DB2. INFORMATION_SCHEMA est conforme à la norme ANSI SQL et est destiné à permettre la recherche d’informations sur les objets de base de données.,

IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'Country' AND TABLE_SCHEMA = 'dbo') DROP TABLE dbo.Country;

Si vous exécutez une version de SQL Server antérieure à SQL Server 2016, vous pouvez utiliser la méthode suivante pour atteindre le même objectif que DROP TABLE S’il existe. Cela implique l’utilisation D’une instruction IF en combinaison avec la fonction OBJECT_ID. Le 2ème paramètre de la fonction OBJECT_ID est passé un ‘u’. Cela représente le type d’objet à vérifier et dans ce cas,  » u « signifie une » table définie par l’utilisateur ».,

Conclusion

Nous avons vu dans cet article Comment l’utilisation de la clause IF EXISTS avec L’instruction DROP TABLE fournit une méthode simple d’une ligne pour vérifier si une table existe avant de tenter sa suppression. La méthode DROP IF EXISTS peut également être utilisée avec d’autres types d’objets de base de données pour permettre une approche cohérente et simple de l’écriture d’instructions DDL (data definition language) dans votre code SQL.,

Si vous exécutez une plate-forme de base de données qui ne prend pas en charge DROP IF EXISTS, nous avons exploré quelques méthodes alternatives que vous pouvez utiliser pour obtenir les mêmes résultats, mais de manière moins concise.

signaler cette annonce

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *