9.4 Получение всех элементов данных сразу
В дополнение к методу использования fetchOne(), описанному в разделе 9.3 «Работа с наборами данных», который позволяет приложениям потреблять элементы данных по одному, X DevAPI также предоставляет метод, использующий fetchAll(), который передает все элементы данных набора данных как список приложению. Разные реализации X DevAPI используют соответствующие типы данных для своего языка программирования для списка. Поскольку используются разные типы данных, поддерживаются собственные конструкции языка для доступа к элементам списка. В следующем примере предполагается, что существует схема test и что таблица сотрудников существует в myTable.
var myResult = myTable.select(['name', 'age']).
where('name like :name').bind('name','L%').
execute();
var myRows = myResult.fetchAll();
for (index in myRows){
print (myRows[index].name + " is " + myRows[index].age + " years old.");
}
При смешивании fetchOne() и fetchAll() для чтения из одного набора данных следует помнить, что каждый вызов fetchOne() или fetchAll() потребляет возвращаемые элементы данных. Потребленные элементы нельзя запросить повторно. Например, если приложение вызывает fetchOne() для получения первого элемента данных набора данных, то последующий вызов fetchAll() возвращает второй по счету элемент данных. Первый элемент не входит в список элементов данных, возвращаемых fetchAll(). Аналогично, при повторном вызове fetchAll() для набора данных после предыдущего вызова второй вызов возвращает пустой набор.
Использование fetchAll() заставляет соединитель создать список всех элементов в памяти, прежде чем весь список можно передать приложению. Срок жизни списка не зависит от срока жизни набора данных, который его создал.
© 2025 Oracle
Licensed under the GPLv2 License.