Получить ссылку на массив значений всей выборки данных (selectall_arrayref)
Назначение
Метод selectall_arrayref
объединяет вызовы методов prepare
, execute
и fetchall_arrayref
в один вызов. Если результатом SQL-запроса является непустая выборка данных, то метод возвращает всю выборку данных в виде ссылки на массив записей, каждая из которых представлена ссылкой на массив значений полей SQL-запроса.
Пакет
Package Linter::db
Прототип
$ary_ref = $dbh- >selectall_arrayref($statement); $ary_ref = $dbh- >selectall_arrayref($statement, \%attr); $ary_ref = $dbh- >selectall_arrayref($statement, \%attr, @bind_values);
Параметр | Описание | |
---|---|---|
$statement | Текст SQL-запроса (возможно, с параметрами). SQL-запрос может быть предварительно претранслирован (подготовлен с помощью метода prepare ), тогда при выполнении метода selectall_arrayref выполнение метода prepare будет пропущено | |
\%attr | См. метод selectall_array | |
@bind_values | Массив, содержащий значения привязываемых параметров (если SQL-запрос содержит параметры) |
Возвращаемые значения
Переменная | Описание | |
---|---|---|
$ary_ref | При наличии данных возвращается ссылка на массив записей, каждая из которых представлена ссылкой на массив значений полей SQL-запроса. В случае отсутствия данных или при наличии ошибок выполнения методов prepare и/или execute возвращается undef | |
$DBI::errstr | Диагностическое сообщение (в случае ошибки выполнения метода) |
Пример
my $dbh = $drh- >connect("DEMO", "SYSTEM", "MANAGER8") or die "Could not connect to database: " . DBI- >errstr; my $ary_ref = $dbh- >selectall_arrayref("select * from AUTO;", { Slice = > [0], MaxRows = > 10 }); for (my $i = 0; $i < scalar(@$ary_ref); $i++) { for (my $j = 0; $j < scalar(@{$ary_ref- >[$i]}); $j++) { print($ary_ref- >[$i][$j] . "\n"); } print("\n"); } $dbh- >disconnect();