DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Считывание строи из курсора

Предложение INTO запроса является частью оператора FETCH. Опера­тор FETCH имеет две формы:
FETCH имя_курсора INTO список_переменных;
и
FETCH имя_курсора INTO record
где имя_курсора обозначает предварительно объявленный и открытый кур­сор, список_переменных представляет собой список предварительно объяв­ленных переменных PL/SQL, разделенных запятыми, a record это предварительно объявленная запись PL/SQL. В любом случае пере­менная (переменные) в конструкции INTO должна иметь тип, совмести­мый со списком выбора запроса. Если воспользоваться созданным курсором c_Buildings, то следующий оператор FETCH будет правильным:
FETCH c_Buildings INTO v__Building;
В примере, приведенном ниже, демонстрируются правильный и не­правильный операторы FETCH:
После каждого считывания FETCH указатель активного набора увели­чивается и переходит к следующей строке. Таким образом, каждый опе­ратор FETCH будет последовательно возвращать строки активного набора до тех пор, пока не будет передан весь набор.
Для определения момента считывания всего набора используется ат­рибут %NOTFOUND. При выполнении последнего считывания FETCH выходным переменным не будут присваиваться новые значения, т.е. они будут содержать прежние значения.
Внимание
Операторы FETCH такого вида извлекают по одной строке за раз. В 0гас1е8 и выше можно извлекать более одной строки за раз, используя сборную конструкцию и предложение BULK COLLECT (см. главу 12).

 









jAntivirus