Мне нужно написать код для переименования столбца в 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
Но когда я делаю это за один раз, все работает просто отлично.
Почему столбец сначала переименовывается во временное имя? Имеет ли смысл при кодировании алгоритма переименования делать то же самое?
Спасибо!