package_body ::=
CREATE [OR_REPLACE] PACKAGE_BODY [schema_name .] package_name
{IS | AS} [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];