Estou usando o SQL Server 2008 e o Navicat. Eu preciso renomear uma coluna em uma tabela usando SQL.
ALTER TABLE table_name RENAME COLUMN old_name to new_name;
Esta declaração não funciona.
sql
sql-server
sql-server-2008
alter-table
Serhio g. Lazin
fonte
fonte
Respostas:
Usar
sp_rename
Consulte: SQL SERVER - Como renomear um nome de coluna ou nome de tabela
Documentação: sp_rename (Transact-SQL)
Para o seu caso, seria:
Lembre-se de usar aspas simples para incluir seus valores.
fonte
EXEC sp_RENAME '[TableName].[OldColumnName]', 'NewColumnName', 'COLUMN'
alter table
que falhará se existem tais restrições.Como alternativa
SQL
, você pode fazer isso no Microsoft SQL Server Management Studio. Aqui estão algumas maneiras rápidas de usar a GUI:Primeira Via
Lentamente, clique duas vezes na coluna. O nome da coluna se tornará uma caixa de texto editável.
Segunda Via
Clique com o botão direito do mouse na coluna e escolha Renomear no menu de contexto.
Por exemplo:
Terceira Via
Dessa forma, é preferível quando você precisar renomear várias colunas de uma só vez.
Por exemplo:
NOTA: Eu sei que o OP pediu especificamente uma solução SQL, pensei que isso poderia ajudar outras pessoas :)
fonte
Tentar:
fonte
Você também deve especificar o esquema da tabela ou poderá receber este erro:
Se for um script de implantação, eu também recomendaria adicionar alguma segurança adicional a ele.
fonte
Seria uma boa sugestão usar uma função já incorporada, mas outra maneira de contornar é:
O benefício por trás do uso do
sp_rename
é que ele cuida de todas as relações associadas a ele.A partir da documentação :
fonte
Você pode usar
sp_rename
para renomear uma coluna.O primeiro parâmetro é o objeto a ser modificado, o segundo parâmetro é o novo nome que será dado ao objeto, e o terceiro parâmetro COLUNA informa ao servidor que a renomeação é para o
column
, e também pode ser usado para mudar o nometables
,index
ealias data type
.fonte
Como muitas vezes venho aqui e depois me pergunto como usar os colchetes, essa resposta pode ser útil para pessoas como eu.
OldColumnName
não deve estar em[]
. Isso não vai funcionar.NewColumnName
em[]
, ele irá resultar em[[NewColumnName]]
.fonte
O Sql Server management studio possui alguns procedimentos definidos pelo sistema (SP),
um dos quais é usado para renomear uma coluna. O SP é sp_rename
Sintaxe: sp_rename '[table_name] .old_column_name', 'new_column_name'
Para obter mais ajuda, consulte este artigo: sp_rename do Microsoft Docs
Nota: Na execução deste SP, o servidor sql fornecerá uma mensagem de aviso como ' Cuidado: alterar qualquer parte do nome de um objeto pode interromper scripts e procedimentos armazenados '. Isso é crítico apenas se você tiver escrito seu próprio sp, que envolve a coluna na tabela que você está prestes a mudar.
fonte
Versão aprimorada do @Taher
fonte
Ou você pode clicar duas vezes lentamente na coluna no SQL Management Studio e renomeá-la através da interface do usuário ...
fonte
Executar consulta:
fonte