Modifier un Champ num en char sous Oracle

Résolu/Fermé
NBO - 24 juil. 2003 à 10:10
 Mounir - 18 nov. 2010 à 11:51
Bonjour à tous,
Voila, j'ai une table avec un champ id qui est numérique, mes données contiennent maintenant des caractères, comment faire pour passer se champ en type char ??? (est-ce que je peux le faire avec des données dans ma table?)
Merci
A voir également:

5 réponses

Bonjour,

Malheureusement, il n'est possible de modifier le type d'un champ en Oracle que si la colonne en question ne contient que des "null".
Il y a cependant moyen de se débrouiller en quelques lignes pour le faire, mais si ce champ est justement un id, c'est assez risqué car tu dois surement avoir des références (clés étrangères) qui utilisent cet id dans d'autres tables ?
Je te conseille de vérifier avant de faire un tel changement et de bien en mesurer les conséquences ;-)
Et si tu veux toujours changer le type de données, voici un exemple qui peut t'aider :

ALTER TABLE MACHIN ADD ID_2 VARCHAR2(6);

UPDATE MACHIN SET ID_2=ID, ID=null ;

ALTER TABLE MACHIN MODIFY (ID VARCHAR2(6) );

UPDATE MACHIN SET ID=ID_2 ;

ALTER TABLE MACHIN DROP (ID_2) ;


@+
8
Merci beaucoup!
3
BadBoy3 Messages postés 108 Date d'inscription dimanche 7 décembre 2008 Statut Membre Dernière intervention 7 janvier 2011 15
4 nov. 2009 à 10:56
merci bcp ca ma bien aidé ;)
0
De même, merci, très utile ce petit script !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Merci bq, c'est intéressant
0