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



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


 
   (CUR_BOOK   IN   BOOK_TM)       
    RETURN   NUMBER  
); 
Пересоздадим тело объектного типа  BOOK_TM.  
CREATE    OR    REPLACE    TYPE    BODY    BOOK_TM    AS 
ORDER   MEMBER    FUNCTION   COMPARE_BOOKS 
(CUR_BOOK   IN   BOOK_TM)       
RETURN   NUMBER  IS  
BEGIN 
     IF CUR_BOOK.TITLE=SELF.TITLE THEN 
        RETURN 0; 
     ELSIF CUR_BOOK.TITLE>SELF.TITLE THEN 
    RETURN  -1; 
  ELSE 
     RETURN  1; 
END IF; 
END  COMPARE_BOOKS; 
    END; 
    После создания метода ORDER выполним следующий оператор: 
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
әкімшілігінің қараңыз

    Басты бет