procedure_body ::=
 [CREATE [OR_REPLACE]] PROCEDURE procedure_name
 [(parameter_declaration [, parameter_declaration]...)]
 [AUTHID {CURRENT_USER | DEFINER}] {IS | AS}
 [PRAGMA AUTONOMOUS_TRANSACTION;]
 [{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 [procedure_name];