⑥ PRIOR와 NEXT 메소드
PRIOR와 NEXT 메소드는 컬렉션 요소 사이에서 각각 앞과 뒤로 이동하는 기능을 수행하며 매개변수로는 요소의 인덱스를 받는다. 만약 현재 요소의 앞이나 뒤에 다른 요소가 없다면 NULL을 반환한다. 따라서 어떤 종류의 컬렉션이든 PRIOR(FIRST) 값은 항상 NULL인데, 그 이유는 FIRST가 맨 처음 요소 인덱스를 반환하므로 그 이전 요소는 존재하지 않기 때문이다. 마찬가지로 NEXT(LAST) 반환 값 역시 항상 NULL이다.
입력
DECLARE
TYPE va_type IS VARRAY(5) OF VARCHAR2(10); -- VARRAY 선언
-- 변수 선언
vva_test va_type;
BEGIN
-- 생성자를 사용해 값 할당
vva_test := va_type('첫번째', '두번째', '세번째', '네번째'); -- VARRAY
DBMS_OUTPUT.PUT_LINE('FIRST의 PRIOR : ' || vva_test.PRIOR(vva_test.FIRST));
DBMS_OUTPUT.PUT_LINE('LAST의 NEXT : ' || vva_test.NEXT(vva_test.LAST));
DBMS_OUTPUT.PUT_LINE('인덱스3의 PRIOR :' || vva_test.PRIOR(3));
DBMS_OUTPUT.PUT_LINE('인덱스3의 NEXT :' || vva_test.NEXT(3));
END;
결과
FIRST의 PRIOR :
LAST의 NEXT :
인덱스3의 PRIOR :2
인덱스3의 NEXT :4
결과를 보면 FIRST의 PRIOR와 LAST의 NEXT는 모두 NULL을, 3번째 항목의 PRIOR와 NEXT는 각각 2와 4를 반환했음을 알 수 있다.