1
resposta

Mudanças na DDL e incompatibilidade no varchar2

Boa noire. Se na DDL a estrutura da tabela for alterada por exemplo para um varchar2 com caracter menor o que acontece com as strings já inseridas que possuem uma quantidade de caracteres maiores do que a nova estrutura da tabela? Ou essa mudança não é possível na DDL?

1 resposta

Olá, Nathália! Tudo bem?

Desde já peço desculpas pela demora em obter retorno.

Isso irá depender das configurações específicas do banco de dados.

Se a nova estrutura da tabela possui um tamanho menor para uma coluna VARCHAR, as strings já inseridas que possuem uma quantidade de caracteres maior do que o novo tamanho podem ser afetadas de duas maneiras:

  • Truncamento: se a configuração do banco de dados estiver definida para truncar automaticamente os dados, as strings que excedem o novo tamanho serão truncadas para se ajustarem à nova estrutura. Dessa forma, parte dos dados será perdida. Por exemplo, se a coluna "nome" tiver o tipo varchar2(20) e já tiver sido inserido um valor "Maria da Silva Santos", e você alterar o tipo para varchar2(15), o valor será truncado para "Maria da Silva".

  • Erro de truncamento: se a configuração do banco de dados estiver definida para gerar um erro ao tentar truncar os dados, a alteração da estrutura da tabela falhará e o banco de dados retornará um erro.

Espero ter ajudado.

Caso surja quaisquer dúvidas, fico à disposição.

Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!