テーブルとテーブル内のすべてのデータを削除します。
構文
DROP TABLE name [CASCADE | RESTRICT | CASCADE CONSTRAINTS]説明
DROP TABLEステートメントを実行して、データベースからテーブルを削除できます。 テーブルを削除すると、テーブルのすべてのパーティションまたはサブパーティションも削除されます。 テーブルを削除せずにテーブルの行を削除するには、delete文を実行します。 DROP TABLEステートメントは、テーブルのすべてのインデックス、ルール、トリガー、および制約を常に削除します。
DROP TABLEステートメントを実行するには、パーティションルートの所有者、テーブルを所有するグループのメンバー、スキーマの所有者、またはデータベースのスーパーユーザーである必要があります。
パラメーター
パラメーター | 説明 |
name | 削除するテーブルの名前。 テーブルは、パーティション分割テーブルとすることができる。 名前はスキーマで修飾できます。 |
RESTRICTキーワードは、PolarDB for PostgreSQL (Oracleと互換) が依存オブジェクトを持つテーブルを削除しないことを指定します。 これはデフォルトの動作です。 DROP TABLEステートメントを実行して、オブジェクトが依存するテーブルを削除すると、エラーが返されます。
CASCADEまたはCASCADE CONSTRAINTS句は、PolarDB for PostgreSQL (Compatible with Oracle) がすべての依存制約を削除し、テーブルの他のタイプの依存オブジェクトを削除しないことを指定します。
例
依存オブジェクトを持たないempという名前のテーブルを削除する:
DROP TABLE emp;DROP TABLEステートメントの結果は、テーブルに依存オブジェクトがあるかどうかによって異なります。 ステートメントでキーワードまたは句を指定して、結果を制御できます。 たとえば、注文テーブルとアイテムテーブルを作成し、アイテムテーブルは注文テーブルに依存します。
CREATE TABLE orders
(order_id int PRIMARY KEY, order_date date, …)
CREATE TABLE items
(order_id int REFERENCES orders, quantity int, …);PolarDB for PostgreSQL (Compatible with Oracle) は、実行したステートメントに基づいて注文テーブルを削除すると、次の操作を実行します。
DROP TABLE orders RESTRICTステートメントを実行すると、PolarDB for PostgreSQL (Compatible with Oracle) がエラーを返します。DROP TABLE orders CASCADE CONSTRAINTSステートメントを実行すると、PolarDB for PostgreSQL (Compatible with Oracle) はordersテーブルを削除し、外部キー制約をitemsテーブルから削除しますが、itemsテーブルは削除しません。