Действительно ли возможно создать тип ассоциативного массива Oracle за пределами пакета/процедуры?

Вы МОЖЕТЕ отказаться от сборки, как это делает XCode, чтобы вы могли протестировать и отправить тот же двоичный файл. Например, в моем сценарии (аналогичном описанному выше) я создаю свою версию выпуска, подписанную как сборку AdHoc, затем архивирую ее как IPA для тестирования, затем подаю в отставку с моим сертификатом распространения и создаю zip-файл, который я и отправляю Яблоко. Соответствующая строка:

codesign -f -vv -s "$DistributionIdentity" "$APPDIR"
9
задан ShoeLace 20 February 2014 в 15:25
поделиться

2 ответа

Ответ: нет, вы не можете делать то, что пытаетесь сделать, равно как и не можете создать тип для добавления переменной типа BOOLEAN к объекту. Элементы в объекте должны содержать типы Oracle, а не типы PL / SQL. Немного неуклюжая альтернатива:

CREATE TYPE t_aa AS VARRAY(10) OF VARCHAR2(10);

CREATE OR REPLACE TYPE t_ua AS OBJECT (ID NUMBER(15)
                                     , MEMBER PROCEDURE initialize(p_aa t_aa)
                                     , MEMBER PROCEDURE initialize(p_aa_i t_aa))
                               NOT INSTANTIABLE NOT FINAL;

Сохраните связанные пары переменных в двух VARRAY. Вам нужно знать максимально возможный размер ваших массивов.

7
ответ дан 4 December 2019 в 23:07
поделиться

Это типы PL / SQL, как подсказывает ошибка. Вам ничего не мешает объявить их в общедоступной спецификации пакета, тогда вы можете ссылаться на них в любом нужном вам коде PL / SQL.

0
ответ дан 4 December 2019 в 23:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: