テーブルを削除します。

構文

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 テーブルを削除しません。