package_body ::=
[PRAGMA SERIALLY_REUSABLE;]
{
collection_type_definition
| record_type_definition
| subtype_definition
| collection_declaration
| constant_declaration
| exception_declaration
| object_declaration
| record_declaration
| variable_declaration
| cursor_body
| function_body
| procedure_body
| call spec}
[{
collection_type_definition
| record_type_definition
| subtype_definition
| collection_declaration
| constant_declaration
| exception_declaration
| object_declaration
| record_declaration
| variable_declaration
| cursor_body
| function_body
| procedure_body
| call spec
}]...
[BEGIN statement [statement]...]
END [package_name];