Получить ссылку на массив значений первого столбца выборки данных (selectcol_arrayref)

Назначение
 

Метод selectcol_arrayref объединяет вызовы методов prepare, execute и выборку значений первого столбца из выборки данных в один вызов. Метод возвращает ссылку на массив, содержащий значения указанных столбцов выборки данных (по умолчанию первого столбца).

Пакет

Package Linter::db

Прототип
$ary_ref = $dbh- >selectcol_arrayref($statement);

$ary_ref = $dbh- >selectcol_arrayref($statement, \%attr);

$ary_ref = $dbh- >selectcol_arrayref($statement, \%attr, @bind_values);
Параметр Описание
$statement Текст SQL-запроса (возможно, с параметрами). SQL-запрос может быть предварительно претранслирован (подготовлен с помощью метода prepare), тогда при выполнении метода selectcol_arrayref выполнение метода prepare будет пропущено
\%attr Ассоциированный массив атрибутов с дополнительными указаниями по обработке метода:
  • MaxRow: задает объем выборки данных (максимальное количество записей выборки данных);

  • Columns: массив с порядковыми номерами столбцов в выборке данных, которые будут включены в выходной массив. Например, при задании атрибута { Column = > [1, 2] } в выходной выборке будут присутствовать значения первого и второго столбцов

@bind_values Массив, содержащий значения привязываемых параметров (если SQL-запрос содержит параметры)
Возвращаемые значения
Переменная Описание
$ary_ref При наличии данных возвращается ссылка на массив значений указанных столбцов выборки данных (по умолчанию первого столбца). В случае отсутствия данных или при наличии ошибок выполнения методов 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- >selectcol_arrayref("select * from AUTO;",
                                        { Columns = > [1, 2]});
for (my $i = 0; $i <  scalar(@$ary_ref); $i++)
{
    print($ary_ref- >[$i] . "\n");
}
$dbh- >disconnect();