Coluna Oracle ALTER TABLE MODIFY

Resumo: neste tutorial, você aprenderá a usar o Oracle ALTER TABLE MODIFY instrução de coluna para alterar a definição de colunas existentes.

Para alterar a definição de uma coluna em uma tabela, você usa a ALTER TABLE MODIFY sintaxe de coluna da seguinte maneira:

A declaração é direta. Para modificar uma coluna de uma tabela, você precisa especificar o nome da coluna, o nome da tabela e a ação que deseja executar.

O Oracle permite que você execute várias ações, mas as seguintes são as principais:

  • Modifique a visibilidade da coluna
  • Permitir ou não valores nulos
  • Reduza ou amplie o tamanho da coluna
  • Altere o valor padrão de uma coluna
  • Modificar a expressão das colunas virtuais

Para modificar várias colunas, você usa a seguinte sintaxe:

Exemplos de colunas Oracle ALTER TABLE MODIFY

Primeiro, crie uma nova tabela chamada accounts para a demonstração:

Em segundo lugar, insira algumas linhas na accounts tabela:

Em terceiro lugar, verifique a operação de inserção usando o seguinte SELECT declaração:

A) Modifique a visibilidade da coluna ity

No Oracle Database 12c, você pode definir as colunas da tabela como invisíveis ou visíveis. Colunas invisíveis não estão disponíveis para a consulta como:

Ou declaração como:

no SQL * Plus.

No entanto, você pode consultar as colunas invisíveis especificando-as explicitamente na consulta:

Por padrão, as colunas da tabela são visíveis. Você pode definir a coluna invisível ao criar a tabela ou usando a ALTER TABLE MODIFY instrução da coluna.

Por exemplo, a instrução a seguir torna a full_name coluna invisível:

A instrução a seguir retorna dados de todas as colunas da tabela accounts, exceto da coluna full_name :

Isso ocorre porque a coluna full_name é invisível.

Para alterar um coluna de invisível para visível, você usa a instrução abaixo:

B) Permitir ou não permitir exemplo nulo

As seguintes alterações de instrução a coluna email para aceitar valores não nulos:

No entanto, a Oracle emitiu o seguinte erro:

Porque quando você alterou uma coluna de anulável para n on-nullable, você deve garantir que os dados existentes atendam à nova restrição.

Para corrigir isso, atualizamos os valores da coluna email primeiro:

Observe que a função LOWER() converte uma string em minúsculas.

E, em seguida, altere o restrição da coluna:

Agora, está funcionando como esperado.

C) Amplie ou diminua o tamanho de um exemplo de coluna

Suponha que queiramos adicionar um código internacional aos números de telefone. Antes de fazer isso, devemos aumentar o tamanho da coluna do telefone usando a seguinte declaração:

Agora, podemos atualizar os números de telefone:

A seguinte declaração verifica a atualização:

Para encurtar o tamanho de uma coluna, certifique-se de que todos os dados da coluna se ajustem ao novo tamanho.

Por exemplo, tentamos reduzir o tamanho da coluna phone para 12 caracteres:

O banco de dados Oracle emitiu o seguinte erro:

Para corrigir isso, primeiro devemos remover o código internacional dos números de telefone:

A função REPLACE() substitui uma substring por uma nova substring. Neste caso, ele substitui o ‘+ 1-’ por uma string vazia.

E, em seguida, reduza o tamanho da coluna phone:

D) Modificar coluna virtual

Suponha que o nome completo no seguinte formato:

Para fazer isso, podemos alterar a expressão do coluna virtual full_name da seguinte forma:

A declaração a seguir verifica a modificação:

E) Modifique o valor padrão de uma coluna

Vamos adicionar uma nova coluna chamada status à tabela accounts com o valor padrão 1.

Depois de executar a instrução, os valores na coluna de status são definidos como 1 para todas as linhas existentes na tabela accounts.

Para alterar o valor padrão o Se a coluna de status for 0, você usará a seguinte instrução:

Podemos adicionar uma nova linha ao accounts tabela para verificar se o valor padrão da coluna status é 0 ou 1:

Dados de consulta da accounts tabela:

Como você pode ver, o valor na coluna de status para a conta com id 4 é 0 conforme o esperado.

Neste tutorial, você aprendeu como usar a instrução de coluna Oracle ALTER TABLE MODIFY para alterar a definição de colunas existentes em uma tabela.

  • Este tutorial foi útil?
  • Sim Não

Write a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *