Instrução ALTER TABLE no SGBD Oracle

No SGBD Oracle, a instrução ALTER TABLE pode ser utilizada com diferentes finalidades: adicionar uma coluna a uma tabela existente, modificar as propriedades de uma coluna que já esteja criada, excluir uma coluna, renomear uma tabela ou renomear colunas. Este artigo apresenta exemplos envolvendo os casos citados, executados sobre uma tabela chamada T_CLASSE_SOCIAL, cujo script de criação é apresentado na Listagem 1. Caso você deseje testar os exemplos no Oracle, basta efetuar login em algum banco (com um usuário que tenha o privilégio de criar objetos) e executar os scripts no SQL*Plus ou SQL Developer.

Listagem 1: Criação da Tabela T_CLASSE_SOCIAL.

CREATE TABLE T_CLASSE_SOCIAL(
  COD_CLASSE_SOCIAL CHAR(1) PRIMARY KEY,
  DSC_FAIXA_RENDA VARCHAR2(20)
) 

Observe que inicialmente apenas dois campos foram especificados para a tabela T_CLASSE_SOCIAL: COD_CLASSE_SOCIAL (tipo CHAR com tamanho 1 byte) e DSC_FAIXA_RENDA (tipo VARCHAR2, com tamanho máximo de 20 bytes). Agora vamos modificar essa tabela usando a instrução ALTER TABLE.

O comando ALTER TABLE

O exemplo apresentado na Listagem 2, mostra a utilização do comando ALTER TABLE com o objetivo de adicionar a coluna TESTE, do tipo NUMBER(3), à tabela T_CLASSE_SOCIAL.

Listagem 2: ALTER TABLE - Adicionando uma Coluna

ALTER TABLE T_CLASSE_SOCIAL 
ADD (TESTE NUMBER(3)) 

A cláusula MODIFY é utilizada em conjunto com a instrução ALTER TABLE para modificar uma coluna. É possível mudar tanto o tamanho da coluna, como o tipo de dados. Na prática, a modificação de uma coluna costuma ser necessária nos seguintes casos: aumentar a largura de um campo NUMBER , CHAR ou VARCHAR ou aumentar a precisão de um campo NUMBER que possui casas decimais. No exemplo apresentado na listagem 3, o comando é utilizado para modificar a coluna TESTE do tipo NUMBER(3) para o tipo VARCHAR2(50).

Listagem 3: ALTER TABLE - Modificando uma Coluna

ALTER TABLE T_CLASSE_SOCIAL 
MODIFY (TESTE VARCHAR2(50)) 

Para renomear uma coluna, aplica-se a cláusula RENAME COLUMN. No exemplo da Listagem 4, a coluna TESTE tem o nome modificado para TESTE_NOVO.

Listagem 4: ALTER TABLE - Renomeando uma Coluna

ALTER TABLE T_CLASSE_SOCIAL
RENAME COLUMN TESTE TO  TESTE_NOVO; 

Para renomear a tabela, utilizamos a cláusula RENAME TO. No exemplo da Listagem 5, o nome da tabela é modificado para T_CLASSE.

Listagem 5: ALTER TABLE - Renomeando uma Tabela

ALTER TABLE T_CLASSE_SOCIAL
RENAME TO  T_CLASSE; 

Uma coluna pode ser eliminada de uma tabela com o uso da cláusula DROP COLUMN. Quando a coluna é excluída, todos os dados que nela estavam armazenados também são apagados. Estes dados não poderão ser recuperados (a não que se recupere um backup). A Listagem 6 mostra como excluir uma coluna via ALTER TABLE.

Listagem 6: ALTER TABLE - Excluindo uma Coluna

ALTER TABLE T_CLASSE 
DROP COLUMN TESTE_NOVO  

Conclusão

Como vimos, o comando ALTER TABL pode ser utilizado com vários objetivos distintos no Oracle, permitindo a alteração da estrutura de tabelas.

Recentes:

  • Usabilidade e experiência do usuário em aplicativos sensíveis ao contexto:
    Este artigo trata de questões de usabilidade em aplicativos sensíveis ao contexto, tendo como principal objetivo o aprimoramento da experiência do usuário, exemplificando e conceituando algumas questões que devem ser consideradas.
  • Delphi: Cadastro Orientado a Objetos com FireDAC:
    Neste curso você aprenderá a criar CRUD em Delphi com uma entidade. Trabalhar com manipulação de dados (inserir, editar, deletar e buscar) em Delphi é fundamental para desenvolvermos a maioria das aplicações é de suma importância no desenvolvimento de software.
  • Engenharia de Software para programadores:
    Neste guia você encontrará o conteúdo que precisa, como desenvolvedor, para ter uma boa base dos conceitos e práticas da Engenharia de Software. Tal conhecimento é muito importante para todo programador.

Saiba mais sobre Oracle ;)

  • Introdução ao Oracle:
    Veja neste tutorial uma breve introdução ao Oracle.
  • Curso de PL/SQL Oracle:
    Neste curso de Oracle abordaremos um aspecto fundamental para quem deseja começar a trabalhar com este banco de dados: o PL/SQL, que é o dialeto da linguagem SQL utilizado para manipular dados.
  • Guia Completo de Oracle:
    Neste guia de consulta você encontrará diversos conteúdos que podem ser usados ao longo dos seus estudos sobre o banco de dados Oracle. Consulte este guia para aprender mais sobre a administração e uso desse SGBD.
  • Curso Completo de Oracle:
    Este curso de Oracle 12c apresenta os principais recursos básicos para quem deseja trabalhar com administração e implementação de bancos de dados Oracle.