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?

Était-ce utile?

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 à:

  1. Utilisez le RENAME instruction permet de renommer la table.
  2. Recréer la table, avec son nom d'origine, avec les colonnes dans l'ordre que vous voulez.
  3. Utilisez un INSERT SELECT pour remplir la nouvelle table avec les données de la table renommée.
  4. 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
scroll top