The user can create PL/SQL units such as procedures, functions, packages, types, and triggers, which are stored in the database for reuse by applications that use any of the Oracle Database interfaces. When writing code, PL/SQL has the ability to type a portion of code
and execute it without first saving it to the database.

Since its initial release, there have been many factors added to PL/SQL such as XML support, pre-processor, object-orientation and new statements, making it one of the most highly structured programming languages.