在 Oracle 数据库中,删除表的基本 SQL 语法如下:
DROP TABLE [schema.]table_name [CASCADE CONSTRAINTS] [PURGE];
schema
:表所属的模式名(用户名),如果省略则默认为当前用户table_name
:要删除的表名CASCADE CONSTRAINTS
:可选参数,删除表的同时删除所有引用该表的外键约束PURGE
:可选参数,彻底删除表而不放入回收站(Oracle 10g及以上版本支持回收站功能)DROP TABLE employees;
DROP TABLE hr.departments;
DROP TABLE orders CASCADE CONSTRAINTS;
DROP TABLE temp_data PURGE;
如果要先检查表是否存在再删除,可以使用以下PL/SQL代码:
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE employees';
EXCEPTION
WHEN OTHERS THEN
IF SQLCODE != -942 THEN
RAISE;
END IF;
END;
/
或者从回收站恢复被删除的表:
FLASHBACK TABLE employees TO BEFORE DROP;