type - sql server rename view




Renomear coluna SQL Server 2008 (7)

Como alternativa ao SQL , você pode fazer isso no Microsoft SQL Server Management Studio. Aqui estão algumas maneiras rápidas de usar a GUI:

Primeiro caminho

Lento, clique duas vezes na coluna. O nome da coluna se tornará uma caixa de texto editável.

Segunda maneira

Clique com o botão direito do mouse na coluna e escolha Renomear no menu de contexto.

Por exemplo:

Terceira maneira

Desta forma, é preferível quando você precisa renomear várias colunas de uma só vez.

  1. Clique com o botão direito do mouse na tabela que contém a coluna que precisa ser renomeada.
  2. Clique em Design .
  3. No painel de design da tabela, clique e edite a caixa de texto do nome da coluna que você deseja alterar.

Por exemplo:

NOTA: Eu sei que o OP pediu especificamente pela solução SQL, achei que isso poderia ajudar os outros :)

Eu estou usando o SQL Server 2008 e Navicat. Eu preciso renomear uma coluna em uma tabela usando SQL.

ALTER TABLE table_name RENAME COLUMN old_name to new_name;

Esta afirmação não funciona.


Como muitas vezes venho aqui e depois me pergunto como usar os colchetes, essa resposta pode ser útil para quem gosta de mim.

EXEC sp_rename '[DB].[dbo].[Tablename].OldColumnName', 'NewColumnName', 'COLUMN'; 
  • O OldColumnName não deve estar em [] . Isso não vai funcionar.
  • Não coloque NewColumnName em [] , isso resultará em [[NewColumnName]] .

O Sql Server Management Studio possui alguns Procedimentos Armazenados (SP) de sistema definidos
Um deles é usado para renomear uma coluna. O SP é sp_rename

Sintaxe: sp_rename '[table_name] .old_column_name', 'new_column_name'
Para mais ajuda consulte este artigo: sp_rename pelo Microsoft Docs

Nota: Na execução deste SP, o sql server lhe dará uma mensagem de aviso como ' Cuidado: Alterar qualquer parte do nome de um objeto pode quebrar scripts e procedimentos armazenados '. Isso é crítico somente se você tiver escrito seu próprio sp que envolve a coluna na mesa você está prestes a mudar.


Ou você pode simplesmente clicar duas vezes na coluna do SQL Management Studio e renomeá-la na interface do usuário ...



Versão melhorada do @Taher

DECLARE @SchemaName AS VARCHAR(128)
DECLARE @TableName AS VARCHAR(128)
DECLARE @OldColumnName AS VARCHAR(128)
DECLARE @NewColumnName AS VARCHAR(128)
DECLARE @ParamValue AS VARCHAR(1000)

SET @SchemaName = 'dbo'
SET @TableName = 'tableName'
SET @OldColumnName = 'OldColumnName'
SET @NewColumnName = 'NewColumnName'
SET @ParamValue = @SchemaName + '.' + @TableName + '.' + @OldColumnName

IF EXISTS
(
    SELECT 1 FROM sys.columns WHERE name = @OldColumnName AND OBJECT_NAME(object_id) = @TableName
)
AND NOT EXISTS
(
    SELECT 1 FROM sys.columns WHERE name = @NewColumnName AND OBJECT_NAME(object_id) = @TableName
)
BEGIN
    EXEC sp_rename @ParamValue, @NewColumnName, 'COLUMN';
END

Você também deve especificar o esquema da tabela ou pode receber este erro:

Msg 15248, nível 11, estado 1, procedimento sp_rename, linha 238 O parâmetro @objname é ambíguo ou o @objtype reivindicado (COLUMN) está errado.

Se for um script de implantação, recomendo também adicionar alguma segurança adicional a ele.

    if  exists (select 1 from sys.columns where name = 'OldColumnName' and object_name(object_id) = 'TableName') AND
not exists (select 1 from sys.columns where name = 'NewColumnName' and object_name(object_id) = 'TableName')
EXEC sp_RENAME 'SchemaName.TableName.OldColumnName', 'NewColumnName', 'COLUMN';




alter-table