次の方法で共有


テーブル名の変更 (データベース エンジン)

対象者:SQL Server 2016 (13.x) およびそれ以降のバージョン Azure SQL DatabaseAzure SQL Managed InstanceSQL Database in Microsoft Fabric

この記事では、データベースのテーブル名を変更する方法について説明します。

Azure Synapse Analytics または Parallel Data Warehouse のテーブルの名前を変更するには、 RENAME (Transact-SQL) を使用します。

Limitations

Caution

テーブル名の変更については、十分に検討してください。 そのテーブルを参照するクエリ、ビュー、ユーザー定義関数、ストアド プロシージャ、またはプログラムが存在する場合、テーブル名を変更すると、それらのオブジェクトが無効になります。

テーブル名を変更しても、そのテーブルに対する参照名は自動では変更されません。 名前を変更したテーブルを参照しているオブジェクトに対しては、手動で変更を加える必要があります。 たとえば、テーブルの名前を変更するとき、そのテーブルがトリガーで参照されている場合は、新しいテーブル名が反映されるようにトリガーに変更を加える必要があります。 オブジェクトの名前を変更する前には、 sys.sql_expression_dependencies を使ってテーブルの従属関係を一覧表示できます。

Permissions

テーブルに対する ALTER 権限が必要です。

SQL Server Management Studio を使用します。

最新バージョンの SQL Server Management Studio (SSMS) をインストールします

テーブル名の変更

  1. オブジェクト エクスプローラーで、名前を変更するテーブルを右クリックし、ショートカット メニューの [デザイン] をクリックします。

  2. [表示] メニューの [プロパティ]をクリックします。

  3. [プロパティ] ウィンドウの [オブジェクト名] ボックスに、テーブルの新しい名前を入力します。

  4. この操作を取り消すには、このフィールドを離れる前に Esc キーを押します。

  5. [ファイル] メニューの [テーブル名を保存] を選択します。

テーブル名の変更

  1. オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。

  2. 標準バーで、 [新しいクエリ] を選択します。

  3. 次の例では、SalesTerritory スキーマの SalesTerr テーブルの名前を Sales に変更します。 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] を選択します。

    USE AdventureWorks2022;
    GO
    EXEC sp_rename 'Sales.SalesTerritory', 'SalesTerr';
    

Important

sp_rename@objname 構文には、古いテーブル名のスキーマを含める必要がありますが、新しいテーブル名を設定するとき、@newname では新しいテーブル名を設定するときにスキーマ名が含まれていません。