top of page

Modificando tablas en SQL


Si vamos a realizar una modificación en la estructura de una tabla vamos utilizar el comando DDL “ALTER TABLE”.


Este comando realiza un COMMIT implícito y permite:


Añadir columnas:

  • ALTER TABLE hr.employees ADD (job_id number);


Modificar columnas:

  • ALTER TABLE hr.employees MODIFY (job_id number (5,2));


Borrar columnas:

  • ALTER TABLE hr.employees DROP COLUMN job_id;


Renombrar columnas:

  • ALTER TABLE hr.employees RENAME COLUMN job_id to job_id2;


Marcar una columna como no usada:

  • ALTER TABLE hr.employees SET UNUSED COLUMN job_id;


Modificar una tabla a solo lectura:

  • ALTER TABLE hr.employees READ ONLY;


Consideraciones al modificar los campos de una tabla:

  • Si cambiamos el tipo de dato de un campo, la tabla debe estar vacía.


  • No vamos a poder cambiar el tipo de dato de un campo que es "FOREIGN KEY" o que es referenciado por una "FOREIGN KEY".


  • Si vamos a modificar un campo disminuyendo la longitud (precisión o escala) del tipo de dato, la tabla debe estar vacía, los registros deben tener valores nulos en tal campo o los datos existentes deben ser inferiores o iguales a la nueva longitud.


  • Podemos modificar un campo definido "NULL" a "NOT NULL", siempre que la tabla esté vacía o no contenga valores nulos.


  • No puede redefinirse como "NOT NULL" un campo que es clave primaria.


  • Sí un campo tiene un valor por defecto y se modifica el tipo de dato de tal campo, Oracle analiza que el valor por defecto pueda convertirse al nuevo tipo de dato cuando sea necesario insertarlo; si el valor por defecto no se puede convertir al nuevo tipo de dato que se intenta modificar, la modificación del campo no se realiza.


Ejemplos Comando Alter Table







oferta en cursos online
bottom of page