I PostgreSQL kan vi använda IF EXISTS
sats i DROP TABLE
för att kontrollera om tabellen finns eller inte innan du släpper den.
Exempel
Här är ett exempel att visa:
DROP TABLE IF EXISTS t1;
Den satsen släpper en tabell som heter t1
om det finns.
När jag körde det uttalandet i Azure Data Studio (med dess Postgres-tillägg) fanns tabellen redan, så den togs bort och jag fick följande meddelande:
Commands completed successfully
När jag körde uttalandet igen (efter att det redan hade tappats) fick jag följande meddelande:
NOTICE: table "t1" does not exist, skipping Commands completed successfully
Inget fel inträffade, men jag fick ett "meddelande" om att tabellen inte existerar, tillsammans med ett meddelande om att kommandot slutfördes.
Här är vad som händer när vi inte använder IF EXISTS
:
DROP TABLE t1;
Resultat:
table "t1" does not exist
Den här gången får vi ett felmeddelande som säger att tabellen inte finns.
Se även 5 sätt att kontrollera om en tabell finns i PostgreSQL om du bara vill kontrollera om en tabell finns eller inte utan att släppa den.