Столбец переименования 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 встроена эта функция, вы также можете переименовывать индексы, ключи и отношения. Просто щелкните правой кнопкой мыши имя, которое вы хотите изменить в древовидной структуре базы данных.