Документация PL / SQL гласит :
Для непустого массива FIRST всегда возвращает 1. Для каждого массива LAST всегда равен COUNT.
В ассоциативных массивах все иначе, где FIRST и LAST ссылаются на минимальное и максимальное значения индекса INDEX BY.
С вложенными таблицами все также отличается.Снова документация гласит:
Для вложенной таблицы COUNT равен LAST, если только вы не удалите элементы из середины вложенной таблицы, в этом случае COUNT меньше, чем LAST
Теперь вы спрашиваете о заявлениях FORALL.Мы можем использовать любой тип коллекции в предложении bounds (хотя только ассоциативные массивы index by pls_integer
).Ограничение состоит в том, что нижняя и верхняя границы предложения должны определять последовательность последовательных действительных чисел .
Итак, если ваша коллекция представляет собой вложенную таблицу или переменную, используйте 1 .. whatever.count()
.Если ваша коллекция представляет собой ассоциативный массив с индексом, который не начинается с 1, но все еще используется последовательно whatever.first() .. whatever.last()
.В противном случае используйте indices of
или values of
.