**PL/SQL 컬렉션 메서드 탐구: DELETE, TRIM 및 모범 사례**
컬렉션 메서드
멤버‑메서드 구문을 사용하기 때문에 메서드라고 부릅니다. 함수나 프로시저와 달리 컬렉션을 매개변수로 전달할 필요가 없습니다. 구문은 JavaScript와 같은 다른 프로그래밍 언어와 유사합니다.
COUNT 함수
- 컬렉션에 현재 포함된 요소 수를 반환합니다.
잘못된 구문
COUNT(book_table)
올바른 구문
book_table.COUNT
참고: 컬렉션 메서드는 PL/SQL에서만 사용할 수 있으며 SQL에서는 사용할 수 없습니다.
이 글에서는 모든 컬렉션 메서드를 다루지는 않지만, 특히 흥미로운 동작을 보이는 두 가지, DELETE와 TRIM에 초점을 맞춥니다.
DELETE 메서드
구문
| Form | Description |
|---|---|
DELETE (without any arguments) | 컬렉션의 전체 요소를 제거합니다. |
DELETE(i) | 중첩 테이블 또는 연관 배열에서 i번째 요소를 제거합니다. |
DELETE(i, j) | i부터 j까지(포함) 범위에 있는 모든 요소를 제거합니다. |
중요 참고: DELETE에 매개변수를 사용할 경우 “제거된” 요소에 대한 자리표시자가 유지되어 컬렉션의 인덱스 구조가 그대로 유지됩니다.
TRIM 메서드
같은 컬렉션에
DELETE와TRIM을 함께 사용하지 마세요.
PL/SQL은 강력하고 유용한 메서드를 제공하지만, 각 메서드를 어떻게 사용하는지에 주의를 기울여야 합니다. TRIM 메서드는 컬렉션의 뒤쪽 요소들을 삭제하는 반면, DELETE는 특정 요소(또는 전체 요소)를 삭제하고 빈 공간을 남깁니다. 두 메서드를 같은 컬렉션에 혼용하면 예상치 못한 동작이 발생할 수 있습니다.