Столбец переименования Microsoft SQL Compact Edition

У меня возникают проблемы с переименованием столбца в SQL Server Compact Edition. Я знаю, что вы можете переименовать таблицу с помощью sp_rename, но это не работает с столбцами.

Я искал альтернативу, но не нашел ее.

Можно ли удалить столбец, а затем добавить новый после определенного столбца? Если я удалю столбец и добавлю его после указанного, данные будут потеряны правильно?

Кажется, что после создания таблицы он не может быть правильно изменен - ​​это еще один из ограничений SQLCE?

Ответы

Ответ 1

Действительно, SQL CE не позволяет изменять имена столбцов.

Вы на правильном пути с созданием нового столбца и удалением старого.

Если вы просто добавите столбец и удалите старый, вы потеряете данные, поэтому вам нужно будет выпустить инструкцию обновления для переноса данных из старого в новый.

Что-то вдоль линий

alter Table [dbo].[yourTable] add [newColumn]

update yourTable set newColumn = oldColumn

alter Table [dbo].[yourTable] drop column [oldColumn]

Создать новый столбец, дублировать данные от старого на новый, а затем удалить старый столбец.

Надеюсь, что это поможет!

Ответ 2

sp_rename также работает со столбцами:

EXEC sp_rename
objname = '< Table Name.Old Column Name >',
@newname = '<New Column Name>',
@objtype = 'COLUMN'  

Пример:

SP_RENAME 'MyTable.[MyOldColumnName]' , '[MyNewColumnName]', 'COLUMN'  

дел >

UPDATE: На самом деле, процедура sp_rename не может быть доступна в SQL CE! Вы можете найти решение в http://www.bigresource.com/Tracker/Track-ms_sql-4Tvoiom3/

Ответ 3

В SDF Viewer встроена эта функция, вы также можете переименовывать индексы, ключи и отношения. Просто щелкните правой кнопкой мыши имя, которое вы хотите изменить в древовидной структуре базы данных.