Как добавить VARRAY к объекту Oracle - PullRequest
0 голосов
/ 30 марта 2020

Мне нужно добавить VARRAY с именем menuNumbers к типу объекта, SpecialEvent_t, который унаследован от Event_t.

Я немного запутался в этой части. Я ссылался на большинство доступных в настоящее время решений в Stack Overflow, GitHub et c. Тем не менее, ни одно из этих решений не сработало успешно.

Event_t(
  EventID:char(5),
  EventType:varchar(20),
  VenueName:varchar(50),
  NoOfGuest:number(10)
) NOT FINAL

HotelEvent_t(
  Date:date,
  Price:numbr(8,2)
) UNDER Event_t

SpecialEvent_t(
  BookingDate:date,
  EndDate:date,
  MenuNumber:number(2),
  Reservation ref Reservation_t
) UNDER event_t

Любое предложение будет оценено.

1 Ответ

0 голосов
/ 30 марта 2020

Создайте тип VARRAY:

CREATE TYPE numbers_varray AS VARRAY(10) OF NUMBER(10,0);

Затем вы можете использовать его в своих типах так же, как и в любом другом типе данных:

CREATE TYPE Event_t AS OBJECT(
  EventID   char(5),
  EventType varchar(20),
  VenueName varchar(50),
  NoOfGuest number(10)
) NOT FINAL;

CREATE TYPE HotelEvent_t UNDER Event_t (
  datetime date,                -- Date is a keyword, try to use a different name.
  Price  number(8,2)
);

CREATE TYPE SpecialEvent_t UNDER event_t (
  BookingDate date,
  EndDate     date,
  MenuNumbers  NUMBERS_VARRAY,
  Reservation ref Reservation_t
);

дБ <> скрипка

...