PL/SQL: Past, Present, and Future

Sunil Bhargava

Group Manager, PL/SQL Development
Oracle Corporation

PL/SQL is Oracle's procedural extension to SQL. PL/SQL is a full fledged programming language which integrates features such as data encapsulation, information hiding, overloading, and exception handling, with support for distributed computing and a programming environment which naturally and efficiently extends SQL. Unlike "embedded SQL" bindings, where the names and types of database objects are opaque to the procedural language, PLSQL merges the transient and persistent name spaces and types, and performs compile-time semantic analysis of the bindings between program variables and SQL statements. This talk will describe the motivation behind PL/SQL -- why Oracle chose to design and implement yet another programming language, the rationale behind the design choices, and the architecture of the implementation. We will also discuss the probable future of PL/SQL including support for objects, open systems, and more extensive support for distributed computing.