TYPE BOOK IS RECORD --вводится тип записи – BOOK
(
AUTHOR VARCHAR2(15),
--фамилия автора
TITLE VARCHAR2(25),
--название книги
PRICE NUMBER(6)
--цена
);
BOOK_FAN
BOOK;
--явное объявление
BOOK_ROM
BOOK;
--явное объявление
BOOK_POEM BOOK_FAN%ROWTYPE;
--неявное объявление
Присваивание значений элементам, входящим в запись, необходимо
выполнять поэлементно, используя точечную нотацию:
BOOK_FAN.PRICE :=16000;
Для присвоения значений сразу всем полям записи или нескольким из
них можно воспользоваться однострочным оператором SELECT либо
оператором выборки очередной строки из открытого курсора FETCH.
Возможно присвоение значений одной переменной-записи другой
при условии, что они одного типа:
BOOK_FAN := BOOK_ROM;
Однако следует иметь в виду, что переменная-запись, тип которой
определен явно, и переменная-запись, тип которой определяется с помо-
щью атрибута %ROWTYPE, всегда несовместимы.
Не допускается сравнение переменных-записей.
Ошибочной будет попытка передать в качестве значений в команде
INSERT запись целиком. Значения записи должны передаваться поэле-
ментно:
INSERT INTO TEMP VALUES (BOOK_FAN.AUTHOR,
BOOK_FAN.TITLE, BOOK_FAN.PRICE);
Достарыңызбен бөлісу: