In PostgreSQL, possiamo usare IF EXISTS
clausola del DROP TABLE
istruzione per verificare se la tabella esiste o meno prima di eliminarla.
Esempio
Ecco un esempio da dimostrare:
DROP TABLE IF EXISTS t1;
Tale istruzione rilascia una tabella chiamata t1
se esiste.
Quando ho eseguito quell'istruzione in Azure Data Studio (con la sua estensione Postgres), la tabella esisteva già, quindi è stata eliminata e ho ricevuto il seguente messaggio:
Commands completed successfully
Quando ho eseguito di nuovo l'istruzione (dopo che era già stata eliminata), ho ricevuto il seguente messaggio:
NOTICE: table "t1" does not exist, skipping Commands completed successfully
Non si è verificato alcun errore, ma ho ricevuto un "avviso" che la tabella non esiste, insieme a un messaggio che il comando è stato completato correttamente.
Ecco cosa succede quando non utilizziamo IF EXISTS
:
DROP TABLE t1;
Risultato:
table "t1" does not exist
Questa volta riceviamo un errore che ci dice che la tabella non esiste.
Vedi anche 5 modi per verificare se una tabella esiste in PostgreSQL se vuoi semplicemente verificare se una tabella esiste o meno senza eliminarla.