Microsoft SQL Compact Edition重命名列

时间:2010-10-19 10:22:30

标签: sql database-design sql-server-ce rename ssms

我在重命名SQL Server Compact Edition中的列时遇到问题。我知道您可以使用sp_rename重命名表,但这不适用于列。

我已经寻找替代方案,但还没找到。

我可以删除列,然后在特定列之后添加新列吗?如果我删除了列并在指定的列之后添加它,那么数据会丢失吗?

似乎一旦你创建了表,它就无法正确修改 - 这是SQLCE的另一个限制吗?

3 个答案:

答案 0 :(得分:14)

看起来SQL CE似乎不允许更改列名。

您正在创建一个新列并删除旧列。

如果您只是添加一个列并删除旧列,则会丢失数据,因此您需要发出更新语句以将数据从旧数据转移到新数据。

的内容
alter Table [dbo].[yourTable] add [newColumn]

update yourTable set newColumn = oldColumn

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

应创建新列,将数据从旧复制到新,然后删除旧列。

希望它有所帮助!

答案 1 :(得分:2)

sp_rename也适用于列:

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

示例:

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



更新:实际上,SQL CE中的sp_rename过程是不可用的!您可以在http://www.bigresource.com/Tracker/Track-ms_sql-4Tvoiom3/

找到解决方案

答案 2 :(得分:0)

SDF Viewer内置了此功能,您还可以重命名索引,键和关系。只需右键单击要在数据库树视图中更改的名称。