Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Excluindo colunas no MS SQL Server


O comando que você está procurando é:
alter table tblName drop column columnName

onde tblName é o nome da tabela e columnName é o nome da coluna, mas há algumas coisas que você pode precisar fazer primeiro.
  • Se houver referências de chave estrangeira para a coluna, você precisará se livrar delas primeiro.
  • Se houver um índice usando essa coluna, você precisará se livrar dele ou ajustá-lo para não usar essa coluna.

Tenha em mente que o desempenho deste comando pode não ser necessariamente bom. Uma opção é esperar por um período de tempo de inatividade quando você pode ter certeza de que ninguém acessará o banco de dados, renomear a tabela atual e usar create table e insert into ... select from para transferir as colunas que você não deseja excluir.

Uma das versões posteriores do Oracle, na verdade, possui uma exclusão reversível que pode apenas marcar uma coluna como não utilizada sem removê-la fisicamente. Ele tem o mesmo efeito, já que você não pode mais referenciá-lo e há um comando ao longo das linhas de alter table ... drop unused columns que deve ser executado em tempo de silêncio, que faz o trabalho duro de realmente removê-lo fisicamente.

Isso tem a vantagem de "desaparecer" as colunas imediatamente sem prejudicar o desempenho do banco de dados durante os horários de pico.