PRIOR и NEXT методы Oracle PL/SQL

В этом учебном материале вы узнаете, как использовать методы коллекций PRIOR и NEXT в Oracle PL/SQL с синтаксисом и примерами.

Описание

В Oracle PL/SQL методы PRIOR и NEXT — это функции, которые позволяют перемещаться назад и вперед в коллекции (игнорируя удаленные элементы, даже если DELETE хранит для них заполнители). Эти методы полезны для пересечения редких коллекций.
Учитывая индекс:
PRIOR возвращает индекс предыдущего существующего элемента коллекции, если таковой существует. В противном случае PRIOR возвращает NULL.
Для любой коллекции c, c.PRIOR (c.FIRST) возвращает NULL.
NEXT возвращает индекс последующего существующего элемента коллекции, если таковой существует. В противном случае NEXT возвращает NULL.
Для любой коллекции c, c.NEXT (c.LAST) возвращает NULL.
Данный индекс не обязательно должен существовать. Однако если коллекция является Varray, то индекс не может превышать LIMIT.

Синтаксис

Синтаксис методов коллекций PRIOR и NEXT в Oracle PL/SQL.

collection_name.PRIOR;
collection_name.NEXT;

Параметры или аргументы

collection_name — наименование коллекции.
PRIOR — предыдущий существующий элемент коллекции.
NEXT — последующий существующий элемент коллекции.

Примечание

Пример

Рассмотрим пример, чтобы понять как использовать методы коллекций PRIOR и NEXT в Oracle PL/SQL.

Пример, который инициализирует Nested Table шестью элементами, удаляет четвертый элемент и затем показывает значения PRIOR и NEXT для элементов с 1 по 7. Элементы 4 и 7 не существуют. Элемент 2 существует, несмотря на его нулевое значение.

Для Associative Array (ассоциативного массива), индексированного строкой, предыдущий и следующий индексы определяются значениями ключа, которые находятся в отсортированном порядке. В примере ниже используются FIRST, NEXT и цикл WHILE LOOP для печати элементов Associative Array.

Приведенный пример печатает элементы неограниченной Nested Table от первого до последнего, используя FIRST и NEXT, и от последнего до первого, используя LAST и PRIOR.