d580a088

Пример структурированного типа



Пример структурированного типа

Структурированные UDT-типы могут быть созданы следующим способом:



/* Создаем UDT-тип MusicCDudt */
CREATE TYPE MusicCDudt AS
/* Задаем атрибуты */
Title CHAR(40),
Cost DECIMAL(9,2),
SuggestedPrice DECIMAL(9,2),
/* Разрешаем подтипы */
NOT FINAL ;
CREATE TYPE RockCDUdt UNDER MusicCDudt NOT FINAL ;

Подтип RockCDudt наследует атрибуты своего супертипа MusicCDudt.

CREATE TYPE HeavyMetalCDudt UNDER RockCDUdt FINAL ;

Создадим таблицы, использующие эти типы. Например:

CREATE TABLE METALSKU (
Album HeavyMetalCDudt,
SKU INTEGER ) ;

Теперь можно добавить строки в новую таблицу:

BEGIN

/* Объявляем временную переменную 'a' */

            DECLARE a = HeavyMetalCDudt ;

            /* Выполняем функцию-конструктор */

            SET a = HeavyMetalCDudt () ;

            /* Выполняем первую функцию-мутатор */

            SET a = a.title('Edward the Great') ;

            /* Выполняем вторую функцию-мутатор */

            SET a = a.cost(7.50) ;

            /* Выполняем третью функцию-мутатор */

            SET a = a.suggestedprice(15/99) ;

            INSERT INTO METALSKU VALUES (a, 31415926) ;

END



Содержание раздела