Я создаю коллекцию varray как CREATE OR REPLACE TYPE vary_typ IS VARRAY(40) OF NUMBER;
/
и формирую анонимный блок, например
DECLARE
v_a vary_typ := vary_typ (1,3,5,6,34,67,50);
BEGIN
FOR i IN v_a.FIRST..v_a.COUNT
LOOP
IF v_a.EXISTS(i) THEN
v_a.DELETE(i);
ELSE
dbms_output.put_line(i);
END IF;
dbms_output.put_line(v_a);
END LOOP;
END;
/
Но не смог удалить. Я знаю, что varray
нельзя удалить методом .DELETE
, только выполнить .TRIM
. Но мой вопрос, есть ли возможность удалить элемент, преобразовав его в INDEX BY TABLE
, а затем удалить?
Я уже видел сообщение Удалить элемент из Varray Oracle. Там решение было другим, чем я ожидал. Я хочу удалить и превратить varray в разреженную коллекцию, можно?