В PostgreSQL можем да използваме IF EXISTS
клауза на DROP TABLE
оператор, за да проверите дали таблицата съществува или не, преди да я пуснете.
Пример
Ето пример за демонстрация:
DROP TABLE IF EXISTS t1;
Това изявление пуска таблица, наречена t1
ако съществува.
Когато изпълних тази инструкция в Azure Data Studio (с нейното разширение Postgres), таблицата вече съществуваше и затова беше изпусната и получих следното съобщение:
Commands completed successfully
Когато стартирах изявлението отново (след като вече беше премахнато), получих следното съобщение:
NOTICE: table "t1" does not exist, skipping Commands completed successfully
Не възникна грешка, но получих „известие“, че таблицата не съществува, заедно със съобщение, че командата е завършила успешно.
Ето какво се случва, когато не използваме IF EXISTS
:
DROP TABLE t1;
Резултат:
table "t1" does not exist
Този път получаваме грешка, която ни казва, че таблицата не съществува.
Вижте също 5 начина да проверите дали таблица съществува в PostgreSQL, ако просто искате да проверите дали таблица съществува или не, без да я изпускате.