2012-04-10 80 views
1

我沒有很多SQL Server 2008的經驗,我想重命名我的數據庫中的所有列(添加到現有名稱的某個前綴)。SQL Server 2008 R2 - 如何重命名多列名稱?

我想是這樣的:

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

有沒有辦法做到這一點?

非常感謝。

+1

爲什麼你會永遠這樣做呢? – 2012-04-10 07:26:51

回答

4

您可以嘗試以下解決方案:使用光標遍歷sys.columns表中的記錄,併爲每條記錄執行系統存儲過程sp_rename。 我認爲在重命名時可能會出現完整性問題,因此您需要注意引用這些列的其他對象(例如存儲過程)。

UPDATE: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.

1

你可以嘗試使用sp_RENAME。它一次只允許單列。但是你可以在你的代碼上做到這一點,以循環使用每一列。希望能幫助到你。謝謝!