如何将VARRAY添加到Oracle对象

问题描述 投票:0回答:1

我需要将名为menuNumbers的VARRAY添加到从SpecialEvent_t继承的对象类型Event_t

我对这部分有些困惑。我已经提到了Stack Overflow,GitHub等中大多数当前可用的解决方案。但是,这些解决方案都没有成功解决。

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

任何建议将不胜感激。

database oracle user-defined-types
1个回答
0
投票

创建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
);

db<>fiddle

© www.soinside.com 2019 - 2024. All rights reserved.