Получить ссылку на массив значений всей выборки данных (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();