Oracle PL/SQL Language Pocket Reference, Second Edition
by Steven Feuerstein, Bill Pribyl, Chip Dawes
Oracle’s Object-Oriented Features
In Oracle, an object type combines attributes (data structures) and methods (functions and procedures) into a single programming construct. The object type construct allows programmers to define their own reusable datatypes for use in PL/SQL programs and table and column definitions. An object type must be created in a database before it can be used in a PL/SQL program.
An instance of an object type is an object in the same way that a variable is an instance of a scalar type. Objects are either persistent (stored in the database) or transient (stored only in PL/SQL variables). Objects can be stored in a database as a row in a table (a row object) or as a column in a table. A table of row objects can be created with syntax such as this:
CREATE TABLEtable_nameOFobject_type;
When stored in such a table, the object (row) has an OID (Object IDentifier) that is unique throughout the database.
Object Types
An object type has two parts: the specification and the body. The specification is required and contains the attributes and method specifications. The syntax for creating the object type specification is:
CREATE [OR REPLACE] TYPEobj_type_name[AUTHID { CURRENT_USER | DEFINER } ] { { IS | AS } OBJECT | UNDERparent_type_name} (attribute_name datatype,..., [ [ [NOT] OVERRIDING ] [ {NOT] FINAL ] [ {NOT} INSTANTIABLE ]method_spec,...,] [PRAGMA RESTRICT_REFERENCES(program_name, purities)] ) [ [NOT] FINAL ] [ [NOT] INSTANTIABLE ];
Where method_spec
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access