BOOK.TITLE := 'Война и мир';
END;
Чтобы проверить, является объект NULL-объектом или нет, использу-
ется условие IS NULL. Например:
DECLARE
BOOK BOOK_T := BOOK_T (10, 'Казаки', 'Толстой Л.', 5000);
BEGIN
IF BOOK IS NULL THEN
RAISE_APPLICATION_ERROR(-20000, 'BOOK IS NULL');
ELSE
BOOK.TITLE := 'Ярость';
END IF;
END;
После создания каждый экземпляр объекта находится в определен-
ном, свойственном только ему
состоянии. Для модификации его состоя-
ния используются методы объекта, которые должны ссылаться на кон-
кретный экземпляр объекта. Следовательно, при вызове
метода нужно
использовать следующий синтаксис:
имя_объекта.имя_метода
где имя_объекта
–
имя объектной переменной, а имя_метода
–
имя вы-
зываемого метода. Если метод не содержит аргументов, его можно вы-
зывать без круглых скобок, как и обычную процедуру PL/SQL, либо со
скобками и пустым списком аргументов. Это продемонстрировано на
примере следующего блока PL/SQL. Для проверки правильности работы
методов создадим специальную таблицу TEST_T, содержащую два поля:
фамилию автора и название книги, цену книги.
CREATE TABLE TEST_T(FORM VARCHAR2(40),
PRICE NUMBER
(7));
DECLARE
BOOK1 BOOK_T := BOOK_T (10, 'Казаки', 'Толстой Л.', 5000);
BOOK2 BOOK_T:= BOOK_T (20, 'Война и мир', 'Толстой Л.', 15000);
FORM1 VARCHAR(40);
FORM2 VARCHAR(40);
BEGIN
-- Изменяет значение атрибута PRICE.
BOOK1. CHANGE_PRICE(7000);
BOOK2. CHANGE_PRICE(17000);
-- Выбираем фамилию автора и название книги.
188
FORM1 := BOOK1.FORMATTED_NAME;
FORM2 := BOOK2.FORMATTED_NAME();
-- Полученные данные помещаем в таблицу TEST_T.
INSERT INTO TEST_T VALUES(FORM1, BOOK1.PRICE);
INSERT INTO TEST_T VALUES(FORM2, BOOK2.PRICE);
END;
Осуществить проверку правильности работы методов можно, выбрав
из таблицы TEST_T информацию оператором
SELECT * FROM TEST_T;
Все, что касается списка параметров, подчинено тем же правилам, что
и для хранимых процедур и функций.
Методы можно вызывать с исполь-
зованием как именного, так и позиционного представления, а их пара-
метры могут иметь значения по умолчанию. Методы могут быть пере-
гружаемыми. Можно переопределять тип и число аргументов метода.
Если в момент выполнения
метода возникает исключение, то процедура
завершает свою работу, причем выходным параметрам типа OUT и IN
OUT ничего не присваивается; если же были выполнены какие-то изме-
нения в SELF, то они также ликвидируются.
Достарыңызбен бөлісу: