テーブルの削除 (データベース エンジン)

適用対象: SQL Server 2016 (13.x) 以降 Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

SQL Server Management Studio または Transact-SQL を使って、SQL Server のデータベースからテーブルを削除 (ドロップ) できます。

注意事項

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

このトピックの内容

はじめに

制限事項と制約事項

  • FOREIGN KEY 制約によって参照されているテーブルを削除することはできません。 まず、参照している FOREIGN KEY 制約または参照テーブルを削除する必要があります。 参照しているテーブルと、主キーを格納しているテーブルの両方を同じ DROP TABLE ステートメントで削除する場合には、参照しているテーブルを先に指定する必要があります。

  • テーブルを削除すると、そのテーブルのルールや既定値はバインドを失い、そのテーブルに関係付けられている制約やトリガーも自動的に削除されます。 テーブルを再作成する場合は、適切なルールや既定値を再バインドし、トリガーを再作成し、必要なすべての制約を追加する必要があります。

  • FILESTREAM 属性が指定されている varbinary (max) 列を含むテーブルを削除しても、ファイル システムに保存されているデータは削除されません。

  • DROP TABLE と CREATE TABLE を同じバッチ内の同じテーブルに対して実行しないでください。 実行した場合、予期しないエラーが発生する可能性があります。

  • 削除されたテーブルを参照しているすべてのビューとストアド プロシージャを、明示的に削除するか、変更してテーブルへの参照を削除する必要があります。

セキュリティ

アクセス許可

テーブルが属するスキーマに対する ALTER 権限、テーブルに対する CONTROL 権限、または db_ddladmin 固定データベース ロールのメンバーシップが必要です。

SQL Server Management Studio を使用する

データベースからテーブルを削除するには

  1. オブジェクト エクスプローラーで、削除するテーブルを選択します。

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

  3. 削除の確認を要求するメッセージ ボックスが表示されます。 [はい] をクリックします。

    注意

    テーブルを削除すると、テーブルへのリレーションシップが自動的に削除されます。

Transact-SQL の使用

クエリ エディターでテーブルを削除するには

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

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

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

    DROP TABLE dbo.PurchaseOrderDetail;  
    
    

詳細については、「DROP TABLE (Transact-SQL)」を参照してください。