DBA:
Before a PL/SQL program can be executed, that must be compiled. The PL/SQL compiler resolves references to Oracle schema objects through looking up their definitions in the data dictionary. So, the compiler assigns storage addresses to program variables which will contain Oracle data so that Oracle can look up the addresses at run time. This procedure is known as binding.
How a database language implements binding affects runtime flexibility and efficiency. Binding at compile time, called static or early binding, increases efficiency since the definitions of schema objects are looked up then, not at run time. Alternatively, binding at run time, called dynamic or late binding, raise flexibility since the definitions of schema objects can remain unknown until then.
Designed above all for high-speed transaction processing, PL/SQL raises effectiveness by bundling SQL statements and avoiding runtime compilation. Unlike SQL, that is compiled and executed statement-by-statement at run time (late binding), PL/SQL is processed into machine-readable p-code at compile time (early binding). At run time, the PL/SQL engine easily executes the p-code.