Soltar si existe vs Soltar en PostgreSQL
La instrucción DROP
elimina la tabla de la base de datos. Pero solo la declaración DROP
muestra un error si la tabla que estamos tratando de eliminar no existe.
Mediante el botón DROP SI EXISTE
, podemos eliminar el error.
DROP
vs DROP SI EXISTE
en PostgreSQL
Intentemos eliminar una tabla que no existe en la base de datos.
Ejemplo:
postgres=# drop table account;
ERROR: table "account" does not exist
postgres=#
postgres=# drop table if exists account;
NOTICE: table "account" does not exist, skipping
DROP TABLE
postgres=#
Cuando usamos drop
, muestra un error que indica que la tabla no existe. Pero, al usar soltar tabla si existe
se muestra un aviso de que la tabla no existe; no arroja ningún error.
Soltar una tabla con otras tablas dependientes de
Digamos que tenemos dos mesas, una para la venta y otra para el registro de clientes. La tabla Ventas
registra los clientes y sus compras, por lo que el borrado de la tabla Cliente
debe hacerse con la opción CASCADA
.
Vamos a crear dos tablas primero.
CREATE TABLE Customer(
id INT PRIMARY KEY,
full_name VARCHAR,
branch VARCHAR
);
CREATE TABLE Sales(
id INT PRIMARY KEY,
item_name VARCHAR,
price DECIMAL,
customer_id int,
FOREIGN KEY (customer_id) REFERENCES Customer(id)
);
Ahora, intentemos eliminar la tabla Cliente
:
postgres=# drop table customer;
ERROR: cannot drop table customer because other objects depend on it
DETAIL: constraint sales_customer_id_fkey on table sales depends on table customer
HINT: Use DROP ... CASCADE to drop the dependent objects too.
postgres=#
Como hemos comentado, las Ventas
dependen de la tabla Cliente
, que muestra este error.
Pruebe la opción CASCADE
con la instrucción DROP
. Así es como podemos hacerlo.
postgres=# DROP TABLE IF EXISTS Customer CASCADE;
NOTICE: drop cascades to constraint sales_customer_id_fkey on table sales
DROP TABLE
postgres=#
Ahora, la tabla Cliente
se elimina.
Aquí, estamos comprobando si la tabla Cliente
existe o no. Si existe, entonces lo borramos con CASCADE
.
Para obtener más información sobre cómo colocar una mesa, visite la siguiente documentación oficial.