Fil d’Ariane du forum – Vous êtes ici :ForumForums techniques: AS/400Renommer une colonne de table DB2
Vous devez vous identifier pour créer des messages et des sujets.

Renommer une colonne de table DB2

Bonjour,

Je souhaite ajouter un nom long (transactionNumber) à une colonne qui a un nom court(OPE001). Savez-vous s'il y a un moyen simple en sachant que j'aimerais le faire sur une table complète et peut-être d'autres table sau fur et à mesure que j'en rencontre.

Cordialement,

Olivier.

Cela ne me semble pas possible directement.

Mais il y a une possibilité, en plusieurs étapes :
1. Créer une nouvelle colonne, peu importe son nom (appelons là TOTO), de même format que OPE001 en la plaçant juste avant (utiliser ALTER TABLE . . . ADD COLUMN TOTO . . . BEFORE OPE001), puis y copier les données de OPE001 par un UPDATE
2. Supprimer la colonne OPE001 par un ALTER TABLE . . . DROP COLUMN OPE001
3. (Re)créer la colonne OPE001 avec un nom long, juste avant TOTO (ALTER TABLE . . . ADD COLUMN transactionNumber FOR COLUMN OPE001 . . . BEFORE TOTO), puis y recopier les données de TOTO
4. Supprimer la colonne TOTO.

La colonne intermédiaire (TOTO) est nécessaire pour ne pas avoir à un instant donné 2 fois le même nom de colonne dans la la même table.
Noter que que le nom long sera en majuscule (TRANSACTIONNUMBER ici).
Il est possible (je n'ai pas pu vérifier) que l'identificateur de niveau de format soit modifié.

Je pense qu'on peut y arriver directement avec un CHGPF