No PostgreSQL, podemos usar o
IF EXISTS
cláusula do DROP TABLE
para verificar se a tabela existe ou não antes de eliminá-la. Exemplo
Segue um exemplo para demonstrar:
DROP TABLE IF EXISTS t1;
Essa instrução descarta uma tabela chamada
t1
se existe. Quando executei essa instrução no Azure Data Studio (com sua extensão Postgres), a tabela já existia, e por isso foi descartada e recebi a seguinte mensagem:
Commands completed successfully
Quando executei a declaração novamente (depois de já ter sido descartada), recebi a seguinte mensagem:
NOTICE: table "t1" does not exist, skipping Commands completed successfully
Nenhum erro ocorreu, mas recebi um “aviso” de que a tabela não existe, juntamente com uma mensagem de que o comando foi concluído com êxito.
Veja o que acontece quando não usamos
IF EXISTS
:DROP TABLE t1;
Resultado:
table "t1" does not exist
Desta vez, recebemos um erro informando que a tabela não existe.
Veja também 5 maneiras de verificar se uma tabela existe no PostgreSQL se você quiser apenas verificar se uma tabela existe ou não sem eliminá-la.