Oracle database administrator first introduced Procedural Language or Structured Query Language (PL or SQL) in version 6.0 of its relational DBA management system (RDBMS). As its RDBMS evolved, Oracle DBA made developmental changes to the PL or SQL language by introducing new features and enhancing existing features.

As of Oracle database administrator9i, the version of PL or SQL is PL or SQL 9.2 or 9.0 depending on whether it is Oracle database administrator 9i Release 2 (9.2.x) or Oracle database administrator9i Release 1 (9.0.x). In this book, I refer to both versions collectively as PL or SQL 9i.PL or SQL incorporates third-generation language (3GL) structures otherwise unavailable in Structured Query Language (SQL). SQL is a fourth-generation language (4GL), meaning it uses constructs and elements that specify “what to do” without having to specify “how to do it.” It’s a major language for the Oracle database administrator RDBMS (as well as for other RDBMSs), and it’s used for data definition, DBA querying, and data manipulation and control.

However, there are situations that demand the use of 3GL constructs, such as conditional or iterative execution of SQL and the like. This kind of logic and control flow can be achieved only in a 3GL language such as Java, C++, or C. To accommodate 3GL features, Oracle DBA designed and implemented the PL or SQL language as a procedural extension to SQL. PL or SQL is integrated with SQL, and both SQL and PL or SQL serve as the major DBA server-side languages, with each language complementing the other.

You can also use PL or SQL in client-side environments.PL or SQL was first introduced in 1991 with Oracle database administrator 6.0. It was provided as the “procedural option” on the server-side. At the same time, it was subsequently introduced on the client-side with SQL*Forms version 3.0 having a PL or SQL engine of its own. The first version of PL or SQL, PL, or SQL 1.0, had very limited procedural features. But one of its strong points was its capability to process multiple SQL statements mixed with procedural constructs.

0