DECLARE
col TYPE_VARCHAR2:=TYPE_VARCHAR2();
BEGIN
col.EXTEND();
col(1):='1';
col.EXTEND();
col(2):='2';
col.EXTEND();
col(3):='3';
col.EXTEND();
col(4):='4';
col.EXTEND();
col(5):='5';
FOR i IN 1..col.COUNT LOOP
IF col(i)='3' THEN
col.DELETE(i);
END IF;
END LOOP;
FOR i IN 1..col.COUNT LOOP
DBMS_OUTPUT.PUT_LINE(col(i));
END LOOP;
END;
Создаю коллекцию из 5 строк. Далее в цикле удаляю строку, которая равна "3". При выводе содержимого коллекции возникает ошибка "data not found" после строки "2". Как сделать чтобы строка полностью удалилась, а индексы переприсвоились?