Я использую SQL Server 2008 и Navicat. Мне нужно переименовать столбец в таблице с помощью SQL.
ALTER TABLE table_name RENAME COLUMN old_name to new_name;
Это утверждение не работает.
sql
sql-server
sql-server-2008
alter-table
Serhio g. Lazin
источник
источник
Ответы:
использование
sp_rename
См .: SQL SERVER - Как переименовать имя столбца или имя таблицы
Документация: sp_rename (Transact-SQL)
Для вашего случая это будет:
Не забудьте использовать одинарные кавычки, чтобы заключить ваши значения.
источник
EXEC sp_RENAME '[TableName].[OldColumnName]', 'NewColumnName', 'COLUMN'
alter table
которая будет выполнена , если существуют такие ограничения.В качестве альтернативы
SQL
, вы можете сделать это в Microsoft SQL Server Management Studio. Вот несколько быстрых способов использования графического интерфейса:Первый путь
Медленный двойной щелчок по столбцу. Имя столбца станет редактируемым текстовым полем.
Второй путь
Щелкните правой кнопкой мыши по столбцу и выберите Rename из контекстного меню.
Например:
Третий путь
Этот способ предпочтителен, если вам нужно переименовать несколько столбцов за один раз.
Например:
ПРИМЕЧАНИЕ: я знаю, что OP специально спрашивал о решении SQL, думал, что это может помочь другим :)
источник
Пытаться:
источник
Вам также следует указать схему таблицы, иначе вы можете получить эту ошибку:
Если это сценарий развертывания, я бы также рекомендовал добавить к нему дополнительную безопасность.
источник
Было бы хорошим предложением использовать уже встроенную функцию, но есть и другой способ:
Преимущество использования
sp_rename
заключается в том, что оно заботится обо всех связанных с ним отношениях.Из документации :
источник
Вы можете использовать
sp_rename
для переименования столбца.Первый параметр является объектом , который следует модифицировать, второй параметр это новое имя , которое будет дано на объект, и третий параметр COLUMN информирует сервер о том , что переименования для
column
, а также могут быть использованы для переименованияtables
,index
иalias data type
.источник
Поскольку я часто прихожу сюда, а потом удивляюсь, как использовать скобки, этот ответ может быть полезен для таких, как я.
OldColumnName
должно быть в[]
. Он не будет работать.NewColumnName
в[]
это, это приведет к[[NewColumnName]]
.источник
В Sql Server Management Studio есть определенные системные хранимые процедуры (SP),
одна из которых используется для переименования столбца. SP - sp_rename
Синтаксис: sp_rename '[table_name] .old_column_name', 'new_column_name'
Для получения дополнительной информации обратитесь к этой статье: sp_rename от Microsoft Docs
Примечание. При выполнении этого SP сервер sql выдаст вам предупреждение: « Осторожно: изменение любой части имени объекта может привести к поломке скриптов и хранимых процедур ». Это важно, только если вы написали свой собственный sp, включающий столбец в таблице вы собираетесь изменить.
источник
Улучшенная версия @Taher
источник
Или вы можете просто дважды щелкнуть по столбцу в SQL Management Studio и переименовать его через пользовательский интерфейс ...
источник
Запустить запрос:
источник