Using collection methods on a Varray
DECLARE
TYPE num_collection IS VARRAY(10) OF NUMBER;
nums num_collection := num_collection();
cnt PLS_INTEGER;
BEGIN
nums.EXTEND(nums.LIMIT);
nums(nums.FIRST) := 10;
FOR idx IN 2..nums.COUNT
LOOP
nums(idx) := nums(idx-1) + 10;
END LOOP;
FOR idx IN 1..nums.COUNT LOOP
DBMS_OUTPUT.put_line('Element '||idx||': '||nums(idx));
END LOOP;
DBMS_OUTPUT.put_line('Count of elements initially: '||nums.COUNT);
nums.TRIM;
DBMS_OUTPUT.put_line('Count of elements after triming: '||nums.COUNT);
nums.TRIM(2);
DBMS_OUTPUT.put_line('Count of elements after bulk triming 2 elements: '||nums.COUNT);
nums.DELETE;
DBMS_OUTPUT.put_line('Count of elements after delete are: '||nums.COUNT);
END;
1 row(s) deleted.
Element 1: 10
Element 2: 20
Element 3: 30
Element 4: 40
Element 5: 50
Element 6: 60
Element 7: 70
Element 8: 80
Element 9: 90
Element 10: 100
Count of elements initially: 10
Count of elements after triming: 9
Count of elements after bulk triming 2 elements: 7
Count of elements after delete are: 0