Странное поведение при переименовании столбца в SQL Server 2008 - PullRequest
10 голосов
/ 25 января 2010

Мне нужно написать код для переименования столбца в SQL Server 2008.
При написании сценариев в Management Studio я получил двойное переименование:

NAME1 ==> TEMPNAME ==> NAME2

BEGIN TRANSACTION
GO
EXECUTE sp_rename N'dbo.Table_1.columFirstName', N'Tmp_columSecondName_2', 'COLUMN' 
GO
EXECUTE sp_rename N'dbo.Table_1.Tmp_columSecondName_2', N'columSecondName', 'COLUMN' 
GO
ALTER TABLE dbo.Table_1 SET (LOCK_ESCALATION = TABLE)
GO
COMMIT

Но когда я делаю это за один раз, все работает просто отлично.

Почему столбец сначала переименовывается во временное имя? Имеет ли смысл при кодировании алгоритма переименования делать то же самое?

Спасибо!

1 Ответ

8 голосов
/ 25 января 2010

Вы можете поменять имена столбцов между двумя столбцами. Management Studio поддерживает это, переименовывая все столбцы во временные имена, а затем переименовывая их в окончательные имена.

Blorgbeard: в контекстном меню окна дизайна есть выбор сценария создания изменений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...