Listado completo de tutoriales

39 - Eliminar restricciones (alter table - drop constraint)


Para eliminar una restricción, la sintaxis básica es la siguiente:

 alter table NOMBRETABLA
  drop constraint NOMBRERESTRICCION;

Para eliminar la restricción "CK_libros_precio_positivo" de la tabla libros tipeamos:

 alter table libros
  drop constraint CK_libros_precio_positivo;

Cuando eliminamos una tabla, todas las restricciones que fueron establecidas en ella, se eliminan también.

Ingresemos el siguiente lote de comandos SQL en pgAdmin:

 drop table if exists libros;
 
 create table libros(
  codigo int not null,
  titulo varchar(40),
  autor varchar(30),
  editorial varchar(15),
  precio decimal(6,2)
 );

 -- Definimos una restricción "primary key" para nuestra tabla "libros"
 --para asegurarnos que cada libro tendrá un código diferente y único:
 alter table libros
 add constraint PK_libros_codigo
 primary key(codigo);

 -- Definimos una restricción "check" para asegurarnos que el precio
 -- no será negativo:
 alter table libros
  add constraint CK_libros_precio
  check (precio>=0);

 -- Vemos las restricciones:
 select *
  from information_schema.table_constraints 
  where table_name = 'libros';
 -- Aparecen 2 restricciones, 1 "check" y 1 "primary key".

 -- Eliminamos la restricción "PK_libros_codigo":
 alter table libros
  drop constraint PK_libros_codigo;

 -- Vemos si se eliminó:
 select *
  from information_schema.table_constraints 
  where table_name = 'libros';

La ejecución de este lote de comandos SQL genera una salida similar a:

PostgreSQL pgAdmin alter table drop constraint


Retornar