Previous Next JavaScript must be enabled to correctly display this content

## Dropping Namespaces

You can drop a namespace only if you have been granted the DROP_ANY_NAMESPACE privilege, and the namespace has no associated tables. Also, you must have the appropriate privileges.

To drop a namespace:

    DROP NAMESPACE [IF EXISTS] namespace_name [CASCADE]

Using the CASCADE option with DROP NAMESPACE lets you extend the activity to tables and other objects within the NAMESPACE.

Dropping a namespace is not an atomic operation, and completes the following steps:

- First check to make sure privileges to drop a namespace exist. Continue if privileges are in place.

- If no privileges exist, stop process with an error.

- If privileges are in place and CASCADE is not specified, check for tables, or other objects in the namespace. Drop the namespace if no objects exist.

- If tables or other objects exist in the namespace, stop process with an error.

- If privileges are in place to drop the namespace and CASCADE is specified, the statement drops the namespace, removing all tables, indexes related to the tables, and table privileges.

Note:

You cannot drop the default namespace, `sysdefault`.