EXISTS tells you whether the specified element of a varray or nested table exists.
EXISTS(n) returns TRUE if the nth element of the collection exists and FALSE otherwise.
If n is out of range, EXISTS returns FALSE.
For a deleted element, EXISTS(n) returns FALSE, even if DELETE kept a placeholder for it.
The following code test the EXISTS Method with Nested Table
SQL> SQL> DECLARE-- ww w . j a v a 2 s. c om 2 TYPE NumList IS TABLE OF INTEGER; 3 n NumList := NumList(1,3,5,7); 4 BEGIN 5 n.DELETE(2); -- Delete second element 6 7 FOR i IN 1..6 LOOP 8 IF n.EXISTS(i) THEN 9 DBMS_OUTPUT.PUT_LINE('n(' || i || ') = ' || n(i)); 10 ELSE 11 DBMS_OUTPUT.PUT_LINE('n(' || i || ') does not exist'); 12 END IF; 13 END LOOP; 14 END; 15 / n(1) = 1 n(2) does not exist n(3) = 5 n(4) = 7 n(5) does not exist n(6) does not exist PL/SQL procedure successfully completed. SQL>