Ajouter une colonne à une table DB2 / 400 avec une position ordinale spécifique
-
22-09-2019 - |
Question
Y at-il une commande SQL sur l'AS400 / iSeries / System-i / whatever pour ajouter une colonne à une table dans une position ordinale spécifique, ou le déplacement d'une colonne existante à une position différente?
La solution
IBM i 7.1 vous permet désormais d'ajouter une colonne en face d'une autre.
ALTER TABLE table ADD COLUMN colname ... BEFORE othercolumn
Autres conseils
Non. ALTER TABLE de vous permettra d'ajouter une colonne à une table, mais, selon la documentation:
La nouvelle colonne est la dernière colonne du tableau; qui est, si initialement il y a N colonnes, la colonne est ajoutée la colonne n + 1.
Si vous souhaitez modifier l'ordre des colonnes dans votre table, votre meilleur pari est à:
- Utilisez le RENAME instruction permet de renommer la table.
- Recréer la table, avec son nom d'origine, avec les colonnes dans l'ordre que vous voulez.
- Utilisez un INSERT SELECT pour remplir la nouvelle table avec les données de la table renommée.
- Lorsque vous êtes sûr que les données sont intactes, vous pouvez déposer la version rebaptisée de la table.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow