テーブルを削除します。
構文
DROP TABLE name [CASCADE | RESTRICT | CASCADE CONSTRAINTS]
説明
DROP TABLE
文を使用して、データベースからテーブルを削除できます。 テーブルを削除できるのは、テーブルの所有者だけです。 テーブルを削除せずに行のテーブルをクリアするには、DELETE
文を使用します。 DROP TABLE
は、常に、対象テーブルに存在するインデックス、ルール、トリガー、および制約を削除します。
パラメーター
パラメーター | 説明 |
---|---|
name | 削除するテーブルの名前。 名前はスキーマで修飾できます。 |
RESTRICT
句を付加して、他のオブジェクトがテーブルに依存している場合にサーバーがテーブルを削除しないことを指定できます。 オブジェクトがテーブルに依存している場合、DROP TABLE
文はエラーを返します。 これはデフォルトの動作です。
CASCADE
句を付加して、テーブルに依存するオブジェクトを削除できます。
CASCADE CONSTRAINTS
句を含めて、Oracle 互換 PolarDB データベースが指定されたテーブルの従属制約 (他のオブジェクト型を除く) を削除することを指定できます。
例
依存関係のない 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 REFERENCES orders, quantity int, …) ;
指定した削除時の振る舞いに応じて、Oracle 互換 PolarDB データベースは、次のように orders テーブルを削除します。
DROP TABLE orders RESTRICT
を指定した場合、Oracle 互換 PolarDB データベースはエラーを返します。DROPTABLE orders CASCADE
を指定した場合、Oracle 互換 PolarDB データベースは orders テーブルと items テーブルを削除します。DROPTABLE orders CASCADE CONSTRAINTS
を指定した場合、Oracle 互換 PolarDB データベースは orders テーブルを削除し、items テーブルから外部キー指定を削除しますが、items テーブルを削除しません。