Объекты представляют собой совокупность данных, объединенных с методами обработки этих данных. Данные, входящие в объект (считается, что они образуют структуру), носят название атрибутов. В качестве методов обычно используются процедуры и функции.
Для работы с объектами необходимо вначале определить объектный тип, после чего можно объявлять переменные данного типа. В объявляемых объектных типах можно использовать в качестве параметра ранее созданные объектные типы.
Созданные объектные типы могут быть типом для переменных; использоваться в качестве атрибутов для других типов; являться строкой в таблице; являться столбцом в таблице; могут быть частью объектного представления.
Основное назначение объектных типов: перенести скрипты SQL или хранимые процедуры, функции и пакеты в методы обрабатываемого объекта.
Создание объектного типа. Объектный тип состоит из:
1) заголовка объектного типа;
2) тела объектного типа.
Каждая из этих частей компилируется отдельно, и пока не будет откомпилирован заголовок объектного типа, не будет компилироваться и его тело.
Для создания заголовка объектного типа используется следующий синтасис:
CREATE [ OR REPLACE] TYPE [. схема] имя_типа AS OBJECT
( имя_атрибута тип_атрибута,
имя_атрибута тип_атрибута,
….
[{MAP|ORDER} MEMBER описание_функции,]
[MEMBER описание_процедуры,]
[MEMBER описание_функции,]
…..);
Для создания тела объектного типа используется следующий синтасис:
CREATE [ OR REPLACE] TYPE BODY имя_типа AS
{MAP|ORDER} MEMBER функции,
MEMBER процедуры,
MEMBER функции,
…..);
причем, в теле объектного типа должны быть реализованы все объявленные в заголовке процедуры и функции.