A "destructor" is a PL/SQL routine to delete a ]po[ object. As a convention, destructor names consist of the object_type, followed by "__delete" (double underscore), even though there are some older functions not adhering to this convention.
Let's look take a typical example (deleting a project):
The only required parameter is the ID of an existing project.
However, it is possible that the destructor will fail, for example if certain database tables reference the project as part of a referential integrity constraint. In this case please remove the dependency manually (or as part of you deletion script) and try again. The destructor is "atomic", which means that the destructor transaction will be rolled back completely in case of an error.