[SQL Server] テーブル名を変更する方法 - sp_rename

inno
2014-07-10 19:06 7235 0

MS-SQL / SQL Server

テーブル名を変更する方法 - sp_rename

 

テーブル名を変更する時に使うのが「sp_rename」!!

 

名前を変更できるのは、現在のデータベース内にあるオブジェクトまたはデータ型だけです。

ほとんどのシステム データ型およびシステム オブジェクトの名前は変更できません。

sp_rename では、PRIMARY KEY (主キー) または UNIQUE (一意) 制約の名前を変更した場合、

関連するインデックスの名前も自動的に変更されます。

 

sp_rename によって PRIMARY KEY 制約の名前も自動的に変更されます。

 

EXEC sp_rename '現在のオブジェクト名', '変更するオブジェクト名', 'オブジェクトタイプ'

GO

 

実習をしてみましょう~

「dbo.TestTable」というテーブルの名を「dbo.RealTable」に変更してみましょう。

 

EXEC sp_rename 'TestTable', 'RealTable', 'Object'

GO

 

これで変更されます!

オブジェクトタイプについては下記の表を参考してください。

 

名前を変更するオブジェクトの種類を指定します。 object_type のデータ型は varchar(13) で、既定値は NULL です。次のいずれかの値を指定できます。

value

説明

COLUMN

名前を変更する列。

DATABASE

ユーザー定義のデータベース。 データベースの名前を変更する場合は、このオブジェクトの種類が必要です。

INDEX

ユーザー定義のインデックス。 統計のあるインデックスの名前を変更すると、統計の名前も自動的に変更されます。

OBJECT

sys.objects に記録される型の項目。 たとえば、OBJECT を使用して、制約 (CHECK、FOREIGN KEY、PRIMARY/UNIQUE KEY)、ユーザー テーブル、ルールなどのオブジェクトの名前を変更できます。

STATISTICS

ユーザーによって明示的に作成された統計、作成またはインデックスで暗黙的に作成された統計です。 インデックスの統計の名前を変更すると、インデックスの名前も自動的に変更されます。

USERDATATYPE

CREATE TYPE または sp_addtype を実行すると追加される CLR ユーザー定義型

 

コメント