Как добавить массово выбранные строки в таблицу типа в оракуле?
Я массово собираю записи из Cursor-B для каждой записи в cursor-A, есть ли способ добавить эти данные Cursor-B в тип таблицы, чтобы я мог вставить их в таблицу сразу?
- Я не могу объединить курсор-A и курсор-B SQL.
- Я знаю, что BULK COLLECT никогда не добавляется в коллекцию, но есть ли способ достичь того, что я упоминаю.
1 ответ
Вы можете объединить коллекции в одну операцию, используя MULTISET UNION
:
declare
--Collection types.
type type_rec is record(a number);
type type_nt is table of type_rec;
--Collection variables.
v_var1 type_nt;
v_var2 type_nt;
v_both type_nt;
begin
--Get the data.
select 1 bulk collect into v_var1 from dual connect by level <= 1000;
select 1 bulk collect into v_var2 from dual connect by level <= 1000;
--Combine the two nested tables together in a single operation.
v_both := v_var1 multiset union all v_var2;
end;
/