Пример структурированного типа
Пример структурированного типа
Структурированные 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