컬렉션 메소드
컬렉션 메소드란 컬렉션의 요소에 접근해 값을 가져오고 수정하고 삭제하는 기능을 하는 일련의 빌트인 프로시저와 함수를 말한다. 지금까지 살펴 본 예제에서는 컬렉션 변수를 선언해서 “변수이름(인덱스)” 형태로 컬렉션 요소 값을 참조하거나 수정했는데, 컬렉션 메소드를 사용하면 좀더 편리하고 다양한 방식으로 컬렉션을 다룰 수 있다. 컬렉션 메소드를 정리하면 다음과 같다.
메소드명 | 메소드 타입 | 설명 |
---|---|---|
DELETE | 프로시저 | 컬렉션 요소를 삭제 |
TRIM | 프로시저 | VARRAY나 중첩 테이블의 끝에서 요소를 삭제 |
EXTEND | 프로시저 | VARRAY나 중첩 테이블의 끝에 요소를 추가 |
EXISTS | 함수 | VARRAY나 중첩 테이블에 특정 요소가 존재하면 TRUE를 반환 |
FIRST | 함수 | 컬렉션이 첫 번째 인덱스를 반환 |
LAST | 함수 | 컬렉션의 마지막 인덱스를 반환 |
COUNT | 함수 | 컬렉션의 요소의 총 수를 반환 |
LIMIT | 함수 | 컬렉션이 가질 수 있는 요소의 최대 수를 반환 |
PRIOR | 함수 | 특정 인덱스 이전의 인덱스를 반환 |
NEXT | 함수 | 특정 인덱스 다음의 인덱스를 반환 |
커서는 반환되는 로우의 수가 1개 이상이므로 반복문과 함께 사용했었는데 컬렉션도 마찬가지다. 커서에서는 반복문 내에서 커서 속성으로 커서 데이터에 쉽게 접근해 사용했다면, 컬렉션은 컬렉션 메소드로 편리하게 컬렉션을 다룰 수 있다. 컬렉션 메소드는 “컬렉션명.메소드명” 형태로 사용할 수 있는데, 각 메소드별로 그 사용법을 자세히 살펴 보자.