テーブルの削除 (データベース エンジン)
適用対象: SQL Server 2016 (13.x) 以降 Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics 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 を使用する
データベースからテーブルを削除するには
オブジェクト エクスプローラーで、削除するテーブルを選択します。
テーブルを右クリックし、ショートカット メニューの [削除] をクリックします。
削除の確認を要求するメッセージ ボックスが表示されます。 [はい] をクリックします。
Note
テーブルを削除すると、テーブルへのリレーションシップが自動的に削除されます。
Transact-SQL の使用
クエリ エディターでテーブルを削除するには
オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。
[標準] ツール バーの [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。
DROP TABLE dbo.PurchaseOrderDetail;
詳細については、「DROP TABLE (Transact-SQL)」を参照してください。