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];