FUNCTION name [ ( parameter_declaration [, parameter_declaration ]... ) ]
   RETURN datatype
  [ { invoker_rights_clause
    | accessible_by_clause
    | DETERMINISTIC
    | parallel_enable_cl_in_type
    | RESULT_CACHE  [ relies_on_clause ]
    }... [ PIPELINED ] 
   { IS | AS } { [ declare_section ] body | call_spec }