全部產品
Search
文件中心

PolarDB:DROP TABLE

更新時間:Sep 13, 2024

DROP TABLE命令用於刪除整個表及表內的所有資料。

文法

DROP TABLE name [CASCADE | RESTRICT | CASCADE CONSTRAINTS]

說明

DROP TABLE 可從資料庫中刪除表,當您刪除一個表時,這個表的所有分區或子分區也會被刪除。要清空表中的行但不銷毀表,請使用 DELETEDROP TABLE 始終刪除針對目標表存在的所有索引、規則、觸發器和約束。

使用DROP TABLE命令,您必須是分區根的擁有者、擁有表的小組中的成員、模式擁有者或是資料庫的超級使用者。

參數

參數

說明

name

要刪除的表或分區表的名稱(可能是schema限定的)。

包含 RESTRICT 關鍵字可指定在存在任何依賴於表的對象的情況下,伺服器應拒絕將其刪除。這是預設行為,DROP TABLE 命令在存在任何依賴於表的對象的情況下將報告錯誤。

包含CASCADE/ CASCADE CONSTRAINTS 子句可指定PolarDB PostgreSQL版(相容Oracle)刪除所指定表的所有依賴約束(不包括其他物件類型)。

樣本

以下命令刪除名為 emp且沒有依賴項的表:

DROP TABLE emp;

DROP TABLE 命令的結果會有所不同,這取決於表是否有任何依賴項,您可以通過指定刪除行為來控制結果。例如,如果您建立orders和items這兩個表,而items表依賴於orders表:

CREATE TABLE orders
  (order_id int PRIMARY KEY, order_date date, …);
CREATE TABLE items
  (order_id int REFERENCES orders, quantity int, …);

根據您的刪除行為,PolarDB PostgreSQL版(相容Oracle)在刪除orders表時執行以下操作:

  • 如果您指定 DROP TABLE orders RESTRICTPolarDB PostgreSQL版(相容Oracle)將報告錯誤。

  • 如果您指定 DROP TABLE orders CASCADE CONSTRAINTSPolarDB PostgreSQL版(相容Oracle)將刪除orders表並從items表中刪除外鍵規格,但不刪除items表。