1

我对 SQL Server 2008 没有太多经验,我想重命名数据库中的所有列(在现有名称中添加一些前缀)。

我在想类似的事情:

Foreach( column in table)
(
    column_name = prefix+column_name
)

有什么办法吗??

非常感谢。

4

2 回答 2

4

您可以尝试以下解决方案:使用游标遍历sys.columns表中的记录,并为每条记录执行sp_rename系统存储过程。我认为重命名时可能存在完整性问题,因此您需要小心引用这些列的其他对象(例如存储过程)。

更新:MVP 说:

如果您有任何索引、主键、唯一键或外键,则需要在重命名列后删除它们,然后再读取它们。如果您没有按正确的顺序执行此操作,您将收到很多令人讨厌的错误消息。

于 2012-04-10T06:40:57.060 回答
1

您可以尝试使用sp_RENAME。它一次只允许单列。但是您可以在代码上执行此操作以在每一列上循环。希望能帮助到你。谢谢!

于 2012-04-10T06:37:27.433 回答