Dans PostgreSQL, nous pouvons utiliser le IF EXISTS
clause de la DROP TABLE
pour vérifier si la table existe ou non avant de la supprimer.
Exemple
Voici un exemple pour illustrer :
DROP TABLE IF EXISTS t1;
Cette instruction supprime une table appelée t1
s'il existe.
Lorsque j'ai exécuté cette instruction dans Azure Data Studio (avec son extension Postgres), la table existait déjà, elle a donc été supprimée et j'ai reçu le message suivant :
Commands completed successfully
Lorsque j'ai exécuté à nouveau l'instruction (après qu'elle avait déjà été supprimée), j'ai reçu le message suivant :
NOTICE: table "t1" does not exist, skipping Commands completed successfully
Aucune erreur ne s'est produite, mais j'ai reçu une "notification" indiquant que la table n'existe pas, ainsi qu'un message indiquant que la commande s'est terminée avec succès.
Voici ce qui se passe lorsque nous n'utilisons pas IF EXISTS
:
DROP TABLE t1;
Résultat :
table "t1" does not exist
Cette fois, nous obtenons une erreur nous indiquant que la table n'existe pas.
Consultez également 5 façons de vérifier si une table existe dans PostgreSQL si vous souhaitez simplement vérifier si une table existe ou non sans la supprimer.