Saltar al contenido

Oracle mueve la columna a la primera posición

Solución:

Las preguntas frecuentes de Oracle dicen:

Oracle solo permite agregar columnas al final de una tabla existente.

Tendrías que recrear tu mesa.

RENAME tab1 TO tab1_old;

CREATE TABLE tab1 AS SELECT id, <the rest of your columns> FROM tab1_old;

La forma más sencilla de modificar el orden lógico de las columnas de una tabla es cambiar el nombre de la tabla y crear una vista con las posiciones de columna “correctas”:

ALTER TABLE your_table RENAME TO your_table_t;

CREATE VIEW your_table AS SELECT <columns in the right order> FROM your_table_t;

-- grants on the view (the same as the table)
GRANT ** TO ** ON your_table;

Su aplicación se comportará como si las columnas estuvieran en la posición “correcta”. No tienes que tocar la estructura física.

En Oracle 12c ahora es más fácil reorganizar las columnas de forma lógica. Se puede lograr haciendo que la columna sea invisible / visible. Si cambia una columna invisible a visible, la columna aparecerá en último lugar en el orden.

Considere el uso de columnas invisibles

Crear tabla wxyz:

CREAR TABLA t (w INT,
y VARCHAR2, z VARCHAR2, x VARCHAR2

);

reorganizar la columna x en el medio:

ALTER TABLE wxyz MODIFY (y INVISIBLE, z INVISIBLE); ALTER TABLE wxyz MODIFY (y VISIBLE, z VISIBLE);

DESCRIBE wxyz;

Nombre

w

X

y

z

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *