W PostgreSQL możemy użyć IF EXISTS
klauzula DROP TABLE
oświadczenie, aby sprawdzić, czy tabela istnieje, czy nie przed jej usunięciem.
Przykład
Oto przykład do zademonstrowania:
DROP TABLE IF EXISTS t1;
Ta instrukcja upuszcza tabelę o nazwie t1
jeśli istnieje.
Kiedy uruchomiłem tę instrukcję w Azure Data Studio (z rozszerzeniem Postgres), tabela już istniała, więc została usunięta i otrzymałem następujący komunikat:
Commands completed successfully
Po ponownym uruchomieniu wyciągu (po tym, jak zostało już usunięte), otrzymałem następujący komunikat:
NOTICE: table "t1" does not exist, skipping Commands completed successfully
Nie wystąpił błąd, ale otrzymałem „powiadomienie”, że tabela nie istnieje, wraz z komunikatem, że polecenie zostało pomyślnie zakończone.
Oto, co się dzieje, gdy nie używamy IF EXISTS
:
DROP TABLE t1;
Wynik:
table "t1" does not exist
Tym razem pojawia się błąd informujący nas, że tabela nie istnieje.
Zobacz także 5 sposobów sprawdzania, czy tabela istnieje w PostgreSQL, jeśli chcesz tylko sprawdzić, czy tabela istnieje bez upuszczania jej.