DROP TABLE — remove a table
DROP TABLE [ IF EXISTS ] name
[, ...] [ CASCADE [CONSTRAINTS] | RESTRICT ] [ PURGE ]
DROP TABLE
removes tables from the database.
Only the table owner, the schema owner, and superuser can drop a
table. To empty a table of rows
without destroying the table, use DELETE
or TRUNCATE.
DROP TABLE
always removes any indexes, rules,
triggers, and constraints that exist for the target table.
However, to drop a table that is referenced by a view or a foreign-key
constraint of another table, CASCADE
must be
specified. (CASCADE
will remove a dependent view entirely,
but in the foreign-key case it will only remove the foreign-key
constraint, not the other table entirely.)
IF EXISTS
Do not throw an error if the table does not exist. A notice is issued in this case.
name
The name (optionally schema-qualified) of the table to drop.
CASCADE
Automatically drop objects that depend on the table (such as views), and in turn all objects that depend on those objects (see Section 6.14).
CASCADE CONSTRAINTS
Automatically drop objects that depend on the table (such as
views),
and in turn all objects that depend on those objects.
This is compatible with Oracle syntax and has the same actual functionality as CASCADE
(see Section 6.14).
RESTRICT
Refuse to drop the table if any objects depend on it. This is the default.
PURGE
When using LightDB in oracle mode with the
enable_recyclebin
option set
to ON, and without using the PURGE
parameter, tables and
their associated objects are not permanently removed from the database.
Instead, they are placed in a recycle bin, allowing them to be recovered
as a group if needed. Users have the option to use the
FLASHBACK TABLE command to undo a drop operation,
and the PURGE command to clear the recycle bin.
If the PURGE parameter is used, the table will be permanently deleted.
To destroy two tables, films
and
distributors
:
DROP TABLE films, distributors;
To destroy table films
,and automatically drop objects that depend on the table:
DROP TABLE films CASCADE;
or
DROP TABLE films CASCADE CONSTRAINTS;
This command conforms to the SQL standard, except that the standard only
allows one table to be dropped per command, and apart from the
IF EXISTS
option, which is a LightDB
extension.