¿Cómo puedo eliminar una columna (campo de una tabla) en Oracle? ¿se puede eliminar incluso teniendo datos? ¿se puede eliminar si hay usuarios conectados a Oracle?
Publicado:
Sab Jul 01, 2006 8:21 am
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Eliminar columna oracle
Anuncios
vicen78 escribió:
¿Cómo puedo eliminar una columna (campo de una tabla) en Oracle? ¿se puede eliminar incluso teniendo datos? ¿se puede eliminar si hay usuarios conectados a Oracle?
Para marcar una o varias columnas de una tabla de Oracle como "no usada" ó eliminada" ejecutaremos la siguiente sentencia SQL:
ALTER TABLE NOMBRE_TABLA
SET UNUSED (NOMBRE_CAMPO, NOMBRE_CAMPO2)
CASCADE CONSTRAINTS
Esta sentencia no elimina las columnas, con lo cual no libera el espacio ocupado ni elimina los datos definitivamente. Para hacerlo ejecutaremos esta otra consulta SQL:
ALTER TABLE NOMBRE_TABLA
DROP UNUSED COLUMNS
En principio estas consultas SQL se pueden ejecutar con usuarios conectados a Oracle. Como nota importante cabe destacar que el proceso de eliminación de columnas (la última consulta SQL de esta respuesta) puede tardar mucho tiempo, dependiendo del número de registros de la tabla y el tipo de datos de la columna a eliminar.
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A