PRIOR和NEXT方法
这2个方法允许在集合中向前和向后移动,这对于遍历稀疏集合非常有用。
n PRIOR返回指定索引的前一个索引,如果前面有元素存在,否则返回NULL。
n NEXT返回指定索引的后一个索引,如果后面有元素存在,否则返回NULL。
DECLARE TYPE nt_type IS TABLE OF NUMBER; nt nt_type := nt_type(11, NULL, 22, 33, 44, 55);
BEGIN nt.DELETE(4); DBMS_OUTPUT.PUT_LINE('nt(4) 被删除.');
FOR i IN 1..7 LOOP DBMS_OUTPUT.PUT('nt.PRIOR(' || i || ') = '); print(nt.PRIOR(i)); DBMS_OUTPUT.PUT('nt.NEXT(' || i || ') = '); print(nt.NEXT(i)); END LOOP; END;
|
DECLARE TYPE NumList IS TABLE OF NUMBER; n NumList := NumList(1, 2, NULL, NULL, 5, NULL, 7, 8, 9, NULL); idx INTEGER; BEGIN DBMS_OUTPUT.PUT_LINE('first到last:'); idx := n.FIRST; WHILE idx IS NOT NULL LOOP DBMS_OUTPUT.PUT('n(' || idx || ') = '); print(n(idx)); idx := n.NEXT(idx); END LOOP; DBMS_OUTPUT.PUT_LINE('--------------'); DBMS_OUTPUT.PUT_LINE('last到first:'); idx := n.LAST; WHILE idx IS NOT NULL LOOP DBMS_OUTPUT.PUT('n(' || idx || ') = '); print(n(idx)); idx := n.PRIOR(idx); END LOOP; END;
|
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17013648/viewspace-1116070/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/17013648/viewspace-1116070/