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