Tabela de amostra
Antes de mergulharmos na remoção de uma ou mais colunas de uma tabela Oracle, vamos configurar um exemplo de dados para fins de ilustração.
Crie uma tabela de amostra no Oracle, como mostrado no seguinte:
Crie tabela amostra_dataAdicione os dados à tabela da seguinte forma:
Inserir em sample_data (id, primeiro_name, ip_address, btc_address, credit_card, identificador)Selecione os dados da tabela:
Selecione * dos usuáriosResultado da tabela:
Oracle Logical Column Excluir
O primeiro e mais comum o método de remover uma coluna de uma determinada tabela é uma exclusão lógica. A coluna especificada está desativada e não pode ser acessada em uma exclusão lógica. Os exclusão lógica são muito úteis, especialmente quando trabalham em uma tabela grande, onde a remoção de uma coluna específica pode levar à privação de desempenho.
A sintaxe do comando para remover logicamente uma coluna é fornecida no seguinte:
Alterar tabela tabela_namePara remover várias colunas, use a seguinte sintaxe:
Alterar tabel tabela_namePor exemplo, para excluir logicamente a coluna ip_address na tabela de exemplo anterior, podemos executar a seguinte consulta:
ALTER TABLE SAMPLES_DATAO comando exige que você tenha privilégios suficientes na tabela de destino.
Oracle Physical Column Exclue
Uma exclusão física é o segundo método de remover uma coluna de uma tabela. Isso elimina a coluna da tabela.
A sintaxe é conforme fornecido no seguinte snippet:
ALTER TABLE TABLE_NAME DROP COLUNN COLUNN_NAME;Para excluir as várias colunas, execute o seguinte comando:
Alterar tabela tabela_name drop (column_1, column_2,… columnn);Por exemplo, para remover as colunas ip_address e btc_address da tabela de usuários que criamos anteriormente, podemos executar a seguinte declaração:
ALTER TABLE SAMPLES_DATA DROP COLUMN (IP_ADDRESS, BTC_ADDRESS);Nota: Você pode reduzir os logs de desfazer acumulados usando a opção de ponto de verificação, que permite um ponto de verificação após o número definido de colunas ser processadas.
ALTER TABLE TABLE_NAME DROP COLUNS UNUSUSADO PONTELE DE VERIFICAÇÃO 250;Conclusão
Este post explorou sobre como usar o comando Oracle Alter para excluir uma coluna de tabela. No entanto, remover uma coluna pode não ser o método mais eficiente de liberar um espaço de tabela. Portanto, é bom considerar outras opções, como reconstruir ou mover a mesa.