Подтвердить что ты не робот

Как переименовать имя столбца в T-SQL

Мне нужна помощь в столбце таблицы SQL Server. Я пытаюсь переименовать имя столбца, но это не работает.

USE COST_mesta_test
GO
EXEC sp_rename '[dbo].[1965$].obec' , 'people' , 'COLUMN'
GO

Я попробовал разное сочетание скобок [] и путь к таблице "obec" (например: 1965.obec, 1965 $.obec, 1965. [obec] и т.д.) Но все-таки я получаю сообщение об ошибке:

Либо параметр @objname неоднозначен, либо заявленный тип @objtype (COLUMN) неверно.

4b9b3361

Ответ 1

Я действительно не понимаю, как настроена ваша таблица, т.е. имя таблицы, имя столбца и т.д. - так это пример того, как proc работает для переименования столбцов:

Если бы у меня была таблица вроде этого:

CREATE TABLE [dbo].[Company](
[ID] [int],
[CompanyName] [varchar](20)
)

и хотел изменить столбец [CompanyName], это команда:

EXEC sys.sp_rename 
    @objname = N'dbo.Company.CompanyName', 
    @newname = 'Name', 
    @objtype = 'COLUMN'

Я подозреваю, что ваш первый аргумент неверен.

Из документации (sp_rename (Transact-SQL))

Если объект, который нужно переименовать, является столбцом в таблице, имя_объекта должно быть в форме table.column или schema.table.column. Если объект, который нужно переименовать, является индексом, имя_объекта должно быть в форме table.index или schema.table.index

Ответ 2

Вы также можете изменить имя столбца, щелкнув правой кнопкой мыши имя столбца и выбрав опцию "переименовать" в обозревателе объектов.