本ページでは、テーブルを削除する方法について説明します。
構文
DROP TABLE name [CASCADE | RESTRICT | CASCADE CONSTRAINTS]パラメーター
パラメーター | 説明 |
name | 削除するテーブルの名前。 名前はスキーマで修飾できます。 |
説明
DROP TABLEは、テーブルのインデックス、ルール、トリガー、および制約を含むテーブルをデータベースから削除します。 テーブルの所有者のみがテーブルを破壊できます。
RESTRICT キーワードを含めると、依存するオブジェクトがある場合はサーバーにテーブルの削除を拒否するように指定できます。 これはデフォルトの動作です。 テーブルに依存するオブジェクトがある場合、DROP TABLE 文はエラーを表示します。
CASCADE句またはCASCADE CONSTRAINTS句を含めて、PolarDBが指定されたテーブルの依存制約を削除する必要があることを指定します。 他のオブジェクトタイプは含まれません。
例
次の SQL 文は、依存関係のない emp という名前のテーブルを削除します。
DROP TABLE emp;DROP TABLE 文の実行結果は、テーブルに依存関係があるかどうかによって異なります。 削除時の動作を指定することで、結果を制御できます。 たとえば、orders と items という名前の 2 つのテーブルを作成し、items テーブルは orders テーブルに依存するとします。
CREATE TABLE orders
(order_id int PRIMARY KEY, order_date date, …);
CREATE TABLE items
(order_id int REFERENCES orders, quantity int, …); PolarDBは、指定したドロップ動作に応じて、注文テーブルをドロップするときに次のいずれかのアクションを実行します。
DROP TABLE orders RESTRICTを指定した場合、PolarDBはエラーを報告します。DROP TABLE orders CASCADEまたはDROP TABLE orders CASCADE CONSTRAINTSを指定した場合、PolarDBは注文テーブルを削除し、アイテムテーブルから外部キー仕様を削除しますが、アイテムテーブルは削除しません。