Chapter 7. PL/SQL

The power, flexibility, and utility of the SQL language are undeniable. However, as Oracle and its developers became more sophisticated, SQL's inherent limitations, particularly its lack of procedural control, became apparent. SQL is a fourth-generation language, which means that the programmer specifies what is to be done, but not how. Other languages, like C, are known as third-generation languages. With these languages, the programmer maintains control over exactly how the program operates. Each approach is useful and each has its own set of advantages and disadvantages.

In response to the need for third-generation type procedural capabilities, particularly within Oracle's development tools, Oracle created the PL/SQL language. PL/SQL, which stands for "Procedural Language extensions to SQL," first appeared with Oracle Version 6, and the language has been updated and improved with each subsequent release of Oracle.

The PL/SQL language looks a lot like ADA, the third-generation language developed for the United States Department of Defense. PL/SQL is also based on SQL and allows the use of standard SQL statements. In fact, PL/SQL can be used to write 3GL-like procedural code, but can also contain SQL statements and reference database objects.

PL/SQL is used in virtually every Oracle tool available today, and provides the developer with a rich array of procedural and nonprocedural capabilities. PL/SQL code can be developed to run "standalone" from SQL*Plus, as ...

Get Oracle SQL: the Essential Reference now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.