Необходимо указать имя таблицы для столбца или атрибута вложенной таблицы. - PullRequest
0 голосов
/ 25 сентября 2019

Я пытаюсь создать таблицу в PL / SQL Developer и получаю эту ошибку:

ORA-22913: необходимо указать имя таблицы для столбца или атрибута вложенной таблицы

Вот все типы и таблицы, которые я создал до сих пор:

create or replace type t_bank_information as object(
  sifra_banke           VARCHAR2(20),
  sifra_agencije        VARCHAR2(20),
  sifra_poslovalnice    VARCHAR2(20),
  geslo                 VARCHAR2(20),
  sifra_delovnega_mesta VARCHAR2(20),

  constructor function t_bank_information (self in out nocopy t_bank_information) return self as result
);
/

create or replace type t_credentials as object(
  ime                   VARCHAR2(20),
  priimek               VARCHAR2(20),
  naslov                VARCHAR2(20),
  vrstaOD               VARCHAR2(20),
  stOD                  VARCHAR2(20),

  constructor function t_credentials(self in out nocopy t_credentials) return self as result
);
/

create or replace type t_order as object(
  vodilni_slog          VARCHAR2(20),
  iban_placnka          VARCHAR2(20),
  polog                 VARCHAR2(20),
  referenca_placnika    VARCHAR2(20),
  ime                   VARCHAR2(20),
  ulica_placnika        VARCHAR2(20),
  kraj_placnika         VARCHAR2(20),
  znesek                NUMBER,
  datum                 VARCHAR2(20),
  nujno                 VARCHAR2(20),
  koda_namena           VARCHAR2(20),
  namen_placila         VARCHAR2(20),
  rok_placila           VARCHAR2(20),
  iban_prejemnika       VARCHAR2(20),
  referenca_prejemnika  VARCHAR2(20),
  ime_prejemnika        VARCHAR2(20),
  ulica_prejemnika      VARCHAR2(20),
  kraj_prejemnika       VARCHAR2(20),
  vsota_dolzin_polj     VARCHAR2(20),
  rezerva               VARCHAR2(20),
  celota                BLOB,

  constructor function t_order(self in out nocopy t_order) return self as result
);
/

create or replace type t_order_arr as table of t_order;
/

create or replace type t_postRequest as object(
  orders            t_order_arr,
  credentials       t_credentials,
  bankInformation   t_bank_information,

  constructor function t_postRequest(self in out nocopy t_postRequest) return self as result
);
/

Я получаю сообщение об ошибке, когда наконец хочу выполнить эту команду:

create table tab_POST_data of t_postRequest;

1 Ответ

4 голосов
/ 25 сентября 2019

Столбец заказов является вложенным типом таблицы.Поэтому вам нужно указать свойства для этого в nested table предложении

create table tab_POST_data 
  of t_postRequest
  nested table orders 
    store as orders_tab;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...