Как вручную инициализировать коллекцию ЗАПИСЕЙ в PL / SQL?

По сути, ваш вопрос сводится к тому, «имеет ли смысл иметь [свободную библиотеку xyz] в качестве зависимости для проекта с открытым исходным кодом C ++».

Теперь рассмотрим следующую цитату из Страуструпа, и ответ на самом деле нет ничего сложного:

Без хорошей библиотеки наиболее интересные задачи трудно выполнить в C ++; но при наличии хорошей библиотеки почти любую задачу можно облегчить

Если предположить, что это правильно (и, по моему опыту, так), то написать проект C ++ разумного размера без зависимости совершенно неразумны.

Развивая этот аргумент далее, одна зависимость C ++ (кроме системных библиотек), которую можно разумно ожидать в клиентской системе (разработчика), - это библиотеки Boost. Я знаю , что это не так, но это не является необоснованным предположением для программного обеспечения.

Если программное обеспечение не может даже полагаться на Boost, оно не может полагаться на любую библиотеку .

16
задан Kirill Leontev 14 September 2010 в 08:33
поделиться

1 ответ

Так как выпуск 18c Компетентные Выражения обеспечивает альтернативный способ определить ценности сложных типов данных. Цитата:

Старт с Oracle Database Release 18c, любая стоимость PL/SQL может быть предоставлена выражением (например, для отчета, или для ассоциативного множества) как конструктор предоставляет абстрактную стоимость типа данных. В PL/SQL мы используем термины, «квалифицировал выражение», и «совокупность», а не термин SQL «печатает конструктора», но функциональность - то же.

Вот рабочий пример:

declare 
    type a is record (a1 number, a2 number);
    type b is table of a index by varchar2 (16);
    arr b := b ('key1' => a (1, 2), 'key2' => a (3, 4)); 
begin 
    declare key varchar2 (16) := arr.first; begin 
    <<foreach>> loop
        dbms_output.put_line (arr(key).a1||','||arr (key).a2);
        key := arr.next (key);
        exit foreach when key is null;
    end loop; end;
end;
/
PL/SQL procedure successfully completed.

1,2
3,4
2
ответ дан 30 November 2019 в 17:03
поделиться
Другие вопросы по тегам:

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