Oracle
 sql >> Base de données >  >> RDS >> Oracle

Modification du type de données d'une colonne référencée par d'autres tables

Non, il n'y a pas de moyen simple de le faire. En supposant que les deux tables contiennent des données, vous devez

  • Ajouter un nouveau VARCHAR2 colonne au tableau A
  • Mettre à jour A pour définir la nouvelle colonne égale à TO_CHAR( col1A )
  • Ajouter une nouvelle colonne "VARCHAR2" au tableau B
  • Mettre à jour B pour définir la colonne égale à TO_CHAR( col2B )
  • Supprimer la contrainte de clé étrangère existante
  • Supprimer la contrainte de clé primaire existante
  • Supprimez col1A de A
  • Déposez col2B de B
  • Renommer les nouvelles colonnes (si vous le souhaitez) dans A et B en col1A et col2B
  • Créer la nouvelle contrainte de clé primaire
  • Créer la nouvelle contrainte de clé étrangère

Évidemment, cela va être une opération assez coûteuse.