Peculiarities of the PL/SQL Architecture

PL/SQL, as a procedural language of the incremental programming for SQL, possesses a special architecture which determines its functional peculiarities. Far from everybody QA specialist are familiar with this language. But software testing requires from specialists the permanent studying and learning new things.

Frequently, test automation, load control, performance testing, security checking, system testing, and sometimes even functional testing may become a real headache for the QA.

PL/SQL architecture consists of three main components: blocks, engine, and database server.  In the PL/SQL block, the code is contained. It consists of a set of sections which logically divide the code (the section of description, performance, and development).

PL/SQL block also involves SQL instructions which are used for the interaction with the database server. All PL/SQL units are qualified as blocks. They present the beginning stage of the language architecture.


What Are PL/SQL Unit Types?

  • Anonymous block
  • Function
  • Library
  • Procedure
  • Package body
  • Package specification
  • Event handler, and etc.

The code processing is conducted in the PL/SQL engine. It divides the units and SQL parts into the input values. The divided units will be processed by the engine and SQL parts will be sent to the database server, where the interaction with the base will be fulfilled.

The database server is the most important component of PL/SQL. In order to interact with the server, the SQL engine uses SQL from the units. The database server consists of SQL and its performer.

Therefore, an architecture is the following:

  1. PL/SQL block =SQL+PL/SQL units.
  2. PL/SQL block is processed by the PL/SQL engine.
  3. SQL moves to the database server and then to the SQL performer.
  4. PL/SQL block moves to the performer in the engine.