PL SQL consists of blocks of code, which can be nested within each other. Each block forms a unit of a task or a logical module. PL/SQL Blocks can be stored in the database and reused.
Procedural Language Capability:
PL SQL consists of procedural language constructs such as conditional statements (if else statements) and loops like (FOR loops).
PL SQL engine processes multiple SQL statements simultaneously as a single block, thereby reducing network traffic.
PL/SQL handles errors or exceptions effectively during the execution of a PL/SQL program. Once an exception is caught, specific actions can be taken depending upon the type of the exception or it can be displayed to the user with a message.