Share via


テーブルからの列の削除

このトピックでは、SQL Server 2012 で、SQL Server Management Studio または Transact-SQL を使用してテーブル列を削除する方法について説明します。

注記注意

テーブルから列を削除すると、列および列に含まれているすべてのデータがデータベースから削除されます。 このアクションを元に戻すことはできません。

このトピックの内容

  • 作業を開始する準備:

    制限事項と制約事項

    セキュリティ

  • テーブルから列を削除する方法:

    SQL Server Management Studio

    Transact-SQL

作業を開始する準備

制限事項と制約事項

CHECK 制約がある列を削除することはできません。 最初に制約を削除する必要があります。

テーブル デザイナーを使用する場合を除き、PRIMARY KEY 制約、FOREIGN KEY 制約、またはその他の依存関係がある列を削除することはできません。 オブジェクト エクスプローラーまたは Transact-SQL を使用する場合、最初に列のすべての依存関係を削除する必要があります。

セキュリティ

権限

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

[トップに戻る] リンクで使用される矢印アイコン[Top]

SQL Server Management Studio の使用

オブジェクト エクスプローラーを使用して列を削除するには

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

  2. オブジェクト エクスプローラーで、列を削除するテーブルを右クリックし、[削除] をクリックします。

  3. [オブジェクトの削除] ダイアログ ボックスで [OK] をクリックします。

列に制約またはその他の依存関係が含まれている場合は、[オブジェクトの削除] ダイアログ ボックスにエラー メッセージが表示されます。 参照制約を削除することによって、エラーを解決します。

テーブル デザイナーを使用して列を削除するには

  1. オブジェクト エクスプローラーで、列を削除するテーブルを右クリックし、[デザイン] をクリックします。

  2. 削除する列を右クリックし、ショートカット メニューの [列の削除] をクリックします。

  3. 列にリレーションシップ (FOREIGN KEY または PRIMARY KEY) が適用されている場合は、選択した列および列のリレーションシップの削除を確認するメッセージが表示されます。 [はい] をクリックします。

[トップに戻る] リンクで使用される矢印アイコン[Top]

Transact-SQL の使用

列を削除するには

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

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、[実行] をクリックします。

    USE AdventureWorks2012;
    GO
    ALTER TABLE dbo.doc_exb DROP COLUMN column_b ;
    

列に制約またはその他の依存関係が含まれている場合は、エラー メッセージが返されます。 参照制約を削除することによって、エラーを解決します。

その他の例については、「ALTER TABLE (Transact-SQL)」を参照してください。

[トップに戻る] リンクで使用される矢印アイコン[Top]