Oracle data base 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 data base administrator9i, the version of PL or SQL is PL or SQL 9.2 or 9.0 depending on whether it is Oracle data base administrator9i Release 2 (9.2.x) or Oracle data base 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. This release saw the introduction of native compilation of PL or SQL code, enhancement to PL or SQL cursors in the form of cursor expressions, new data types, and enhancements to bulk binding, pipelined table functions, true inheritance among objects, and more.
PL or SQL has its roots in ADA, a high-level programming language. The concept of the PL or SQL block resembles the concept of block structure in ADA using BEGIN and END blocks. PL or SQL shares other features with ADA such as the syntax “=” used for comparison and “:=” used for assignment, exception handling, and the declarative syntax of defining stored subprograms. Over the years, Oracle DBA came up with new releases of PL or SQL. With Oracle data base administrator 7.0, Oracle data base administrator released PL or SQL 2.0, which turned Oracle data base administrator into an active DBA with the capability to store business and application logic in the DBA in the form of stored procedures, functions, and packages. It also defined the capability to declare programmer-defined records and arrays in the form of PL or SQL tables.