Chapter 21. Object-Oriented Aspects of PL/SQL

PL/SQL has always been a language that supports traditional procedural programming styles such as structured design and functional decomposition. Using PL/SQL packages, it is also possible to take an object-based approach, applying principles such as abstraction and encapsulation to the business of manipulating relational tables. Later version of Oracle have introduced direct support for object-oriented programming (OOP), providing a rich and complex type system, complete with support for type hierarchies and “substitutability.”

In the interest of summarizing this book-sized topic into a modest number of pages, this chapter presents a few choice code samples to demonstrate the most significant aspects of object programming with PL/SQL. These cover the following areas:

  • Creating and using object types

  • Inheritance and substitutability

  • Type evolution

  • Pointer (REF)-based retrieval

  • Object views

Among the things you won’t find in this chapter are:

  • Comprehensive syntax diagrams for SQL statements dealing with object types

  • Database administration topics such as importing and exporting object data

  • Low-level considerations such as physical data storage on disk

I’d like to introduce the topic with a brief history.

Introduction to Oracle’s Object Features

First released in 1997 as an add-on to Oracle8 (the so-called “object-relational database”), the “objects option” allowed developers to extend Oracle’s built-in datatypes to include abstract datatypes ...

Get Oracle PL/SQL Programming, Third Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.