1
resposta

2 erros ao alterar nome da coluna com Alter Table, ao corrigir 1, dá outro erro e vice-versa.

Quando executo esse código

ALTER TABLE VENDEDORES ALTER COLUMN [COMISSAO] [PERCENTUAL_DA_COMISSAO];

Dá esse erro porque não informei o tipo "float" anteriormente criado: "Coluna, parâmetro ou variável #4: não é possível encontrar o tipo de dados PERCENTUALDACOMISSAO."

Então eu corrijo informando o tipo:

ALTER TABLE VENDEDORES ALTER COLUMN [COMISSAO] [PERCENTUAL_DA_COMISSAO] [FLOAT];

Aí dá erro de: Sintaxe incorreta próxima a 'FLOAT'.

Como alterar o nome da coluna então?

1 resposta

O erro ocorre porque o comando ALTER COLUMN não permite renomear uma coluna diretamente. Para renomear uma coluna em SQL Server, você deve usar o comando sp_rename.

Veja como fazer isso:

EXEC sp_rename 'VENDEDORES.COMISSAO', 'PERCENTUAL_DA_COMISSAO', 'COLUMN';

Esse comando renomeia a coluna COMISSAO para PERCENTUAL_DA_COMISSAO na tabela VENDEDORES.

Se você também precisar alterar o tipo de dado da coluna, primeiro execute a renomeação com o sp_rename e, em seguida, altere o tipo da coluna com ALTER TABLE:

-- Renomear a coluna
EXEC sp_rename 'VENDEDORES.COMISSAO', 'PERCENTUAL_DA_COMISSAO', 'COLUMN';

-- Alterar o tipo da coluna para FLOAT
ALTER TABLE VENDEDORES ALTER COLUMN [PERCENTUAL_DA_COMISSAO] FLOAT;

Dessa forma, você primeiro renomeia e depois ajusta o tipo de dado da coluna.