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







0 visualizaciones0 comentarios

Entradas Recientes

Ver todo