Dúvidas do DBA

Adicionar uma coluna em um lugar específico de uma tabela.

Adicionar uma coluna em um lugar específico de uma tabela
Adicionar uma coluna em um lugar específico de uma tabela

Como adicionar uma coluna em um lugar específico de uma tabela.

Recentemente alguém me perguntou como adicionar uma coluna em um lugar específico de uma tabela, tipo, eu gostaria que essa coluna que eu acrescentei agora nesta tabela seja a segunda, ou a terceira ou a quarta coluna, seja lá como for.

Minha resposta foi: Qual a sua intenção em colocar uma coluna em um lugar específico de uma tabela?

A pessoa disse que quando executasse um SELECT * FROM nomeDaTabela gostaria que aquela coluna aparecesse naquela ordem que escolheu.

Eu me pergunto, não seria mais fácil descrever as ordens das colunas como você deseja na consulta?

Além do mais, utilizar

SELECT * FROM 

não é uma boa prática para o SQL Server.

Algumas pessoas preferem manter esse tipo de consulta e mudar a estrutura da tabela do SQL Server da seguinte forma:
criando uma nova tabela com novas colunas.
inserindo os dados da antiga tabela na nova tabela.
Refazer todas as constraints.
Renomear a nova tabela para o nome da antiga tabela.

Que trabalho gigante não é mesmo? Agora você escolhe qual forma fazer, se deve alterar na consulta listando as colunas na ordem que você deseja, ou se quer fazer todo esse trabalho acima.

Exemplo abaixo da melhor opção usando as colunas no SELECT.

SELECT
coluna1,
colunaExtra,
coluna2
FROM NomeDaTabela

Abraços!

Adicionar uma coluna em um lugar específico de uma tabela.