2012-02-20 4 views
30

SQL Serverテーブル列のヘルプが必要です。 Column Nameの名前を変更しようとしていますが、これは機能しません。T-SQLを使用して列名を変更する方法

USE COST_mesta_test 
GO 
EXEC sp_rename '[dbo].[1965$].obec' , 'people' , 'COLUMN' 
GO 

私は "obec" テーブルにブラケット[]とパスの異なる組み合わせを試してみました(例:1965.obec; 1965 $ .obec、1965年には、[obec];など)まだ しかし、私が得ますエラー:

答えて

54

あなたのテーブルがどのように設定されているかはわかりません。 、

CREATE TABLE [dbo].[Company](
[ID] [int], 
[CompanyName] [varchar](20) 
) 

[CompanyName]列を変更したい:

私はこのようなテーブルを持っていた場合: - テーブル名は、列名などは、これはprocは列が名前を変更するためにどのように機能するかの例です。これは次のコマンドです。

EXEC sys.sp_rename 
    @objname = N'dbo.Company.CompanyName', 
    @newname = 'Name', 
    @objtype = 'COLUMN' 

最初の引数が正しくないと思われます。

ドキュメント(sp_rename (Transact-SQL)

If the object to be renamed is a column in a table, object_name must be in the form table.column or schema.table.column. If the object to be renamed is an index, object_name must be in the form table.index or schema.table.index

7

から、あなたはまた、列名を右クリックし、[オブジェクトエクスプローラで「名前の変更」オプションを選択して、列名を変更することができます。

+0

+1は、UIで名前を変更する方法を示しています。 –

+1

マイグレーションスクリプトを作成したい場合は、通常はお勧めできません。 –

+0

質問はオブジェクトエクスプローラではなくT-SQLで名前を変更することです!それは答えではありません。 – QMaster

関連する問題