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