A procedure is a module that performs one or more actions. Because a procedure call is a standalone executable statement in PL/SQL, a PL/SQL block could consist of nothing more than a single call to a procedure. Procedures are key building blocks of modular code, allowing you to both consolidate and reuse your program logic.
The general format of a PL/SQL procedure is as follows:
parameter...] ) ] [AUTHID DEFINER | CURRENT_USER] IS [
executable statements[ EXCEPTION
exception handlers] END [
where each element is used in the following ways:
Optional name of the schema that will own this procedure. The default is the current user. If different from the current user, that user will need privileges to create a procedure in another schema.
The name of the procedure.
An optional list of parameters that you define to both pass information to the procedure, and send information out of the procedure back to the calling program.
Determines whether the procedure will execute with the privileges of the definer (owner) of the procedure or the current user. The former is known as the definer rights model, the latter as the invoker rights model. These models are described in detail in Chapter 24.
The declarations of local identifiers for that procedure. If you do not have any declarations, there will be no statements between the IS and BEGIN statements.
The statements ...