Итак, у меня есть массовая коллекция FORALL, которую я использую для вставки значений в таблицу.
Обычно я бы использовал цикл для поля последовательности, которое должно быть заполнено. Пример будет такой ........
seqno = seqno + 1
..... и тогда я буду циклически проходить для каждой записи, она будет увеличиваться на 1 при их вставке.
SELECT bis_part, bis_part_org, bis_store, bis_bin, bis_lot, bis_qty
BULK COLLECT INTO V_STTK_CLTN
FROM table1
WHERE bis_bin = 'DIRECT'
AND bis_store = p_org;
FORALL INDX IN 1 .. V_STTK_CLTN.COUNT
INSERT INTO table2
(stl_part,
stl_part_org,
stl_trans,
stl_store,
stl_bin,
stl_lot,
stl_expqty,
stl_phyqty,
stl_rtype,
stl_type,
stl_line )
VALUES
(V_STTK_CLTN(INDX).bis_part,
V_STTK_CLTN(INDX).bis_part_org,
ctrans,
V_STTK_CLTN(INDX).bis_store,
V_STTK_CLTN(INDX).bis_bin,
V_STTK_CLTN(INDX).bis_lot,
V_STTK_CLTN(INDX).bis_qty,
'',
'STTK',
'STTK',
seqno);
Как я могу сделать это с коллекцией, так как я использую FORALL без цикла?
Значение seqno - это то место, где мне нужна последовательность. Каждый раз, когда он запускается, он вставляет эти записи в одну и ту же таблицу, но последовательность должна начинаться с единицы каждый раз, поскольку это последовательность для коллекции, а не всей таблицы .... имеет смысл?