The DROP PACKAGE statement drops a stored package from the database. This statement drops the body and specification of a package.


Do not use this statement to drop a single object from a package. Instead, re-create the package without the object using the CREATE PACKAGE Statement and CREATE PACKAGE BODY Statement with the OR REPLACE clause.


The package must be in your own schema or you must have the DROP ANY PROCEDURE system privilege.



Description of the illustration drop_package.gif

Keyword and Parameter Descriptions


Specify BODY to drop only the body of the package. If you omit this clause, then the database drops both the body and specification of the package.

When you drop only the body of a package but not its specification, the database does not invalidate dependent objects. However, you cannot call one of the procedures or stored functions declared in the package specification until you re-create the package body.


Specify the schema containing the package. If you omit schema, then the database assumes the package is in your own schema.


Specify the name of the package to be dropped.

The database invalidates any local objects that depend on the package specification. If you subsequently reference one of these objects, then the database tries to recompile the object and returns an error if you have not re-created the dropped package.

If any statistics types are associated with the package, then the database disassociates the statistics types with the FORCE clause and drops any user-defined statistics collected with the statistics types.

See Also:


Dropping a Package: Example The following statement drops the specification and body of the emp_mgmt package, which was created in Creating a Package Body: Example, invalidating all objects that depend on the specification:

DROP PACKAGE emp_mgmt; 

Related Topics