Je manipule une base de données Oracle.
Une table est déjà créée et contient 2 colonnes.
Je souhaite insérer une colonne après la 1ère à la manière des bases MySQL.
Je ne trouve pas la syntaxe pour le faire. La documentation Oracle est imbit*ble !!! :heink:
Peut etre en créant une table temporaire qui reprend tes données actuelles.
En suite tu supprime ta table de base, tu la recrée en spécifiant en 2eme position la colonne a ajouter et en meme temps tu la rempli avec les données de la table temporaire
Table actuelle TAB1-> Copie vers Temp
Suppression table actuelle TAB1
Création table actuelle + Colonne supplémentaire en 2ème position TAB1
Remplissage de la nouvelle table TAB1 avec Temp
Suppression de Temp
C’est apparemment la seule solution (reconstruire la table avec les colonnes dans le bon ordre).
Depuis le temps que MySQL propose ça, Oracle aurait pu s’en inspirer…
Si tu fais des mises a jour de logiciel qui integrent des programmes nouveaux par exemple qui traite plus de données il peut etre intéressant de rajouter une colonne plutot que recréer une table avec jointure et tout le reste .
Effectivement dans ce cas précis pas tellement d’utilité sauf si tu as plein de nouveaux code insert script pl/sql qui vont chercher cette valeur en 2eme position
Quand une table est mal conçue et que tu dois la reprendre. Tu te rends compte qu’il faut rajouter une colonne clée. Si cette colonne doit faire partie de la clé primaire, il est plus appréciable que celle-ci soit regroupée avec les autres. Bien évidemment, du point de vue purement technique, on s’en fiche qu’elle soit ici ou là. N’empêche que ce n’est pas très propre. Alors si on peut éviter…