Как читать коллекции из колонки главной таблицы в переменную с типом коллекции программного блока?
Не могу разобраться до конца с принципом работы вложенных таблиц.
Такой вопрос, вот есть конструкция:
DECLARE <Объект-коллекция> <Тип ВТ>;
<Переменная-элемент коллекции > <Тип из БД>;
J integer := 0;
BEGIN . . . . . . END;
Подскажите, что должно располагаться между BEGIN и END?
Со всем, что располагается выше в конструкции, в целом разобралась.
Ответы (1 шт):
Автор решения: 0xdb
→ Ссылка
что должно располагаться между
BEGINиEND?
Там реализуется логика, в данном случае - чтение коллекции из колонки таблицы:
create or replace type nttype is table of varchar2 (8)
/
create table main_table (val) as
select 'val '||rownum from dual connect by level<=9
/
declare
object_collection nttype := nttype ('a','b','c');
element_of_collection varchar2 (8);
j int := 7;
begin
dbms_output.put_line ('collection has '||object_collection.count||' elements');
select val bulk collect into object_collection
from main_table;
dbms_output.put_line (
'collection has '||object_collection.count||
' elements, element of collection ('||j||') is "'||object_collection(j)||'"');
end;
/
Выведет (на db<>fiddle):
collection has 3 elements
collection has 9 elements, element of collection (7) is "val 7"