Modificar la estrutura de una tabla

Para modificar la estructura de una tabla se utiliza el comando ALTER TABLE.

ALTER TABLE Tabla
 {[ADD       ( Columna Tipodato [restricción de columna][])]
 [MODIFY ( Columna Tipodato[restricción de columna]][])]
 [ADD CONSTRAINTS restricción]
 [DROP CONSTRAINTS restricción]};


Añadir o modificar columnas ( nombre, tipo, valor por defecto, restricción NOT NULL)

alter table nombre_table {ADD | MODIFY} ( columna tipo [restricción,..])

Eliminación de columnas

alter table nombre_table DROP COLUMN nombre_columna

Añadir restricción de tabla

alter table nombre_tabla ADD CONSTRAINT nombre_restricción restricción

Eliminar una restricción.

alter table nombre_table DROP CONSTRAINT nombre_restricción

Activación y desactivación de una restricción.

alter table nombre_table [ENABLE VALIDATE|ENABLE NOVALIDATE|DISABLE] nombre_restricción

Donde:

Hay que tener en cuenta que si la tabla está vacía, al añadir una columna con la restricción NOT NULL no habrá ningún error, pero si tiene filas no permitirá añadir una columna con esta opción.

Ejemplos:

alter table CabFacturas ADD dFecPago DATE;
alter table CabFacturas MODIFY dFecPago DEFAULT SYSDATE;
alter table CabFacturas DROP COLUMN dFecAux;
alter table CabFacturas ADD CONSTRAINT CK_CabFacturas CHECK ( dFecPago >= dFecFac);
alter table LinFacturas ADD CONSTRAINT CK1_LinFact CHECK ( Precio > 0);
alter table LinFacturas DROP CONSTRAINT CK1_LinFact;
alter table CabFacturas DISABLE CK_CabFacturas;
alter table nombre_table DROP COLUMN nombre_columna;

Siguiente Tema: Lenguaje Definición de Datos (DDL) - Vistas