sql >> Base de Datos >  >> RDS >> Oracle

Cambiar el tipo de datos de una columna, a la que hacen referencia otras tablas

No, no hay una manera simple de hacer esto. Asumiendo que ambas tablas contienen datos, necesitaría

  • Añadir un nuevo VARCHAR2 columna a la tabla A
  • Actualice A para establecer la nueva columna igual a TO_CHAR( col1A )
  • Agregue una nueva columna 'VARCHAR2` a la tabla B
  • Actualice B para establecer la columna igual a TO_CHAR( col2B )
  • Elimine la restricción de clave externa existente
  • Elimine la restricción de clave principal existente
  • Soltar col1A de A
  • Soltar col2B de B
  • Cambie el nombre de las nuevas columnas (si lo desea) en A y B a col1A y col2B
  • Cree la nueva restricción de clave principal
  • Cree la nueva restricción de clave externa

Obviamente, será una operación bastante costosa.