Añadir una columna a una tabla de DB2 / 400 con una posición ordinal específica
-
22-09-2019 - |
Pregunta
¿Hay un comando SQL en el AS400 / iSeries / System-i / lo que sea para añadir una columna a una tabla en una posición ordinal específica, o mover una columna existente a una posición diferente?
Solución
IBM i 7.1 ahora permite agregar una columna delante de otro.
ALTER TABLE table ADD COLUMN colname ... BEFORE othercolumn
Otros consejos
No. La ALTER TABLE permitirá agregar una columna a una tabla, pero, de acuerdo con la documentación:
La nueva columna es la última columna de la tabla; es decir, si inicialmente hay n columnas, la columna añadida es la columna n + 1.
Si desea cambiar el orden de las columnas en la tabla, la mejor opción es:
- Utilice el sentencia RENAME para cambiar el nombre de la tabla.
- crear la tabla, con su nombre original, con las columnas en el orden que desee.
- Usar un INSERT SELECT para poblar la nueva tabla con los datos de la tabla ha cambiado el nombre.
- Cuando esté seguro de los datos está intacta, se puede eliminar la versión ha cambiado el nombre de la tabla.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow