Structure of this tutorial

This second version has changed from the first version in a number of significant ways. Before listing the individual parts of the tutorial, I want to explain the overall restructuring.

About the Second version

We (the authors and Anonymous) are committed to providing comprehensive, useful coverage of the PL/SQL language over the life of this language. The first version of this tutorial covered most of PL/SQL's features as it existed through PL/SQL Release 2.3. With the release of Oracle8, however, we faced a challenge: how do we fit all the new technologies of PL/SQL8 into Oracle PL/SQL Developing and fill out coverage of existing elements of PL/SQL without creating a tome so unwieldy that reading the tutorial becomes as much a physical as a mental workout?

Furthermore, if we look ahead a few years, we can easily expect that Oracle will continue to roll out expanded functionality in the objects area, as well as providing new and enhanced built-in packages. Given this situation, it quickly became clear to us that it was not practical to offer a single text which covered "all things PL/SQL."

Two questions then arose: what do we cut and what do we do with the stuff that we cut? The answers are as follows:

About the Contents

The second version of Oracle PL/SQL Developing is divided into seven parts:

If you are new to PL/SQL, reading this tutorial from beginning to end should improve your skills and help your understanding widen in a gradual, natural process. If you're already a proficient PL/SQL developer, you'll probably want to dip into the appropriate sections in order to extract particular techniques for immediate application. Whether you use this tutorial as a teaching guide or as a reference, I hope that it will have a significant impact on your ability to use PL/SQL most effectively.

Long as this tutorial is, it doesn't do everything. The Oracle environment is a huge and complex one, and in this tutorial I've focused my attention on PL/SQL itself. Some topics are outside the logical scope of this tutorial. Therefore, this tutorial does not cover: