Oracle
 sql >> Database >  >> RDS >> Oracle

Modifica del tipo di dati di una colonna, a cui fanno riferimento altre tabelle

No, non esiste un modo semplice per farlo. Supponendo che entrambe le tabelle contengano dati, dovresti

  • Aggiungi un nuovo VARCHAR2 colonna alla tabella A
  • Aggiorna A per impostare la nuova colonna uguale a TO_CHAR( col1A )
  • Aggiungi una nuova colonna 'VARCHAR2' alla tabella B
  • Aggiorna B per impostare la colonna uguale a TO_CHAR( col2B )
  • Elimina il vincolo di chiave esterna esistente
  • Elimina il vincolo di chiave primaria esistente
  • Rilascia col1A da A
  • Rilascia col2B da B
  • Rinomina le nuove colonne (se lo desideri) in A e B in col1A e col2B
  • Crea il nuovo vincolo di chiave primaria
  • Crea il nuovo vincolo di chiave esterna

Ovviamente, sarà un'operazione piuttosto costosa.