function_body ::=
[CREATE [OR_REPLACE]] FUNCTION function_name
[(parameter_declaration [, parameter_declaration]...)]
RETURN datatype
[AUTHID {CURRENT_USER | DEFINER}]
[PARALLEL_ENABLE] [DETERMINISTIC] {IS | AS}
[{type_definition | item_declaration}
[{type_definition | item_declaration}]...]
[{function_declaration | procedure_declaration}
[{function_declaration | procedure_declaration}]...]
BEGIN statement [statement]...
[EXCEPTION exception_handler [exception_handler]...]
END [function_name];