V PostgreSQL můžeme použít IF EXISTS
klauzule DROP TABLE
příkaz ke kontrole, zda tabulka existuje nebo ne, než ji zrušíte.
Příklad
Zde je příklad k demonstraci:
DROP TABLE IF EXISTS t1;
Tento příkaz zruší tabulku nazvanou t1
pokud existuje.
Když jsem spustil tento příkaz v Azure Data Studio (s jeho rozšířením Postgres), tabulka již existovala, a proto byla zrušena a zobrazila se mi následující zpráva:
Commands completed successfully
Když jsem příkaz znovu spustil (poté, co byl již zrušen), dostal jsem následující zprávu:
NOTICE: table "t1" does not exist, skipping Commands completed successfully
Nedošlo k žádné chybě, ale dostal jsem „upozornění“, že tabulka neexistuje, spolu se zprávou, že příkaz byl úspěšně dokončen.
Co se stane, když nepoužijeme IF EXISTS
:
DROP TABLE t1;
Výsledek:
table "t1" does not exist
Tentokrát se zobrazí chyba, která nám říká, že tabulka neexistuje.
Podívejte se také na 5 způsobů, jak zkontrolovat, zda tabulka existuje v PostgreSQL, pokud chcete pouze zkontrolovat, zda tabulka existuje, aniž byste ji zrušili.