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

于 2012-04-10T06:37:27.433 に答える