2012-04-10 10 views
1

私はSQL Server 2008で多くの経験をしていません。データベースのすべての列の名前を変更したい(既存の名前に接頭辞を付けてください)。SQL Server 2008 R2 - 複数の列名を変更する方法は?

私のようなものと思っています:

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

はそれを行う方法はあります?

ありがとうございます。

+1

は、なぜあなたはそれをしますか? –

答えて

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をお試しください。一度に1つの列のみを許可します。コードでこれを実行して各列をループすることができます。それが役に立てば幸い。ありがとう!