Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Alterando o tipo de dados de uma coluna, que é referenciado por outras tabelas


Não, não existe uma maneira simples de fazer isso. Supondo que ambas as tabelas tenham dados nelas, você precisaria
  • Adicione um novo VARCHAR2 coluna para a tabela A
  • Atualize A para definir a nova coluna igual a TO_CHAR( col1A )
  • Adicione uma nova coluna 'VARCHAR2' à tabela B
  • Atualize B para definir a coluna igual a TO_CHAR( col2B )
  • Retire a restrição de chave estrangeira existente
  • Retire a restrição de chave primária existente
  • Solte col1A de A
  • Solte col2B de B
  • Renomeie as novas colunas (se desejar) em A e B para col1A e col2B
  • Crie a nova restrição de chave primária
  • Criar a nova restrição de chave estrangeira

Obviamente, isso vai ser uma operação bastante cara.