Учебное пособие Для студентов университетов Специальностей «Информатика», «Прикладная математика»



Pdf көрінісі
бет172/177
Дата15.02.2022
өлшемі2,58 Mb.
#25567
түріУчебное пособие
1   ...   169   170   171   172   173   174   175   176   177
Метод MAP
    всегда  представляется  функцией,  которая  не  имеет  па-
раметров,  и  типом  возвращаемого  значения  которой  могут  быть  только 
DATE, NUMBER, VARCHAR2. На  основании  анализа  данного  объекта 
эта функция возвращает значение указанного типа, которое может быть 
использовано для упорядочивания объектов. 
Ниже  приведен  пример  использования  метода MAP для  объектного 
типа BOOK_TM, аналогичного по структуре объектному типу BOOK_T. 
Создадим заголовок объектного типа BOOK_TM.  
CREATE    OR    REPLACE    TYPE    BOOK_TM    AS    OBJECT      
(  ID    NUMBER(2),  
   TITLE VARCHAR2(15), 
   AUTHOR VARCHAR2(12), 
    PRICE  NUMBER(7),     
        MAP   MEMBER   FUNCTION   RETURN_TITLE 
        RETURN   VARCHAR2 
); 
Создадим тело объектного типа BOOK_TM.  
CREATE    OR    REPLACE    TYPE    BODY    BOOK_TM    AS 
MAP   MEMBER    FUNCTION   RETURN_TITLE     
RETURN   VARCHAR2    IS  
BEGIN 
     RETURN    TITLE
END  RETURN_TITLE; 
    END; 
 
196


 
Функция RETURN_TITLE возвращает название книги. Создадим объ-
ектную таблицу BOOK_K на базе объектного типа BOOK_TM. 
CREATE    TABLE    BOOK_K   OF   BOOK_TM; 
Внесем в таблицу BOOK_K  следующие записи с помощью оператора 
INSERT: 
INSERT  INTO  BOOK_K  VALUES  
(BOOK_TM(10, 'Казаки', 'Толстой Л.', 5000)); 
INSERT  INTO  BOOK_K VALUES  
(BOOK_TM(20, 'Война и мир', 'Толстой Л.', 15000)); 
INSERT  INTO  BOOK_K VALUES (30, 'Дюна', 'Герберт Ф.', 8000); 
После  создания  этой  таблицы  для  упорядочения  выводимых  записей 
по названию книг можно выполнить, например, такой оператор SELECT: 
SELECT    VALUE(B)  FROM  BOOK_K  B ORDER BY TITLE; 
В результате чего будет выведена следующая информация: 
VALUE(B)  (ID,   TITLE,     AUTHOR,     PRICE) 
---------------------------------------------------------------- 
BOOK_TM(20, 'Война и мир', 'Толстой Л.', 15000) 
BOOK_TM(30, 'Дюна', 'Герберт Ф.', 8000) 
BOOK_TM(10, 'Казаки', 'Толстой Л.', 5000) 


Достарыңызбен бөлісу:
1   ...   169   170   171   172   173   174   175   176   177




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет