Oracle PL/SQL Programming
Procedural Extensions to Oracle SQL
Without PL/SQL, Oracle must process SQL statements one at a time. Programs that issue many SQL statements require multiple calls to the database, resulting in significant network and performance overhead.
With PL/SQL, an entire block of statements can be sent to Oracle at one time. This can drastically reduce network traffic between the database and an application
As with other procedural programming languages, you can declare variables, define procedures and functions, and trap runtime errors.
PL/SQL is a block-structured language. A block is a set of logically related sections of code. Each section of code in a block contains SQL and PL/SQL statements. Blocks can contain nested or sub-blocks.
Standford University has a PL/SQL Tutorial