навальный сбор и вывоз - PullRequest
0 голосов
/ 06 июня 2018

С курсором, массовым сбором и поиском, я пытаюсь понять, когда использовать

 1 .. count 

, а когда использовать

first .. last

Может кто-нибудь объяснить с помощью примеров forallвставить, обновить все и удалить все, пожалуйста?Заранее спасибо

1 Ответ

0 голосов
/ 06 июня 2018

Документация 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...