【问题标题】:SQL Server 2008 R2 - How to rename multiple columns name?SQL Server 2008 R2 - 如何重命名多个列名?
【发布时间】:2012-04-10 06:29:08
【问题描述】:

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

我在想这样的事情:

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

有什么办法吗?

非常感谢。

【问题讨论】:

    标签: sql-server sql-server-2008 tsql ddl


    【解决方案1】:

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

    更新:MVP 说:

    if you have any indexes, primary keys, unique keys, or foreign keys, they need to be dropped, and then readded, after the columns have been renamed. If you don't do this in the correct order, you will get lots of nasty error message.

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2013-04-24
        • 1970-01-01
        • 2017-04-30
        • 2023-03-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多