Получить массивы значений нескольких строк ответа
Назначение
Получить массивы значений нескольких строк ответа курсорного запроса.
Синтаксические правила
GetDataRowS | GetM (< идентификатор курсора >, < массив >, < количество строк >);
-
< Идентификатор курсора >
-
Идентификатор курсора, в котором выполнен запрос выборки данных.
-
< Массив >
-
Адрес массива для записи значений строк ответа.
-
< Количество строк >
-
Целое неотрицательное значение. Отсчет начинается с
1
.
Возвращаемое значение
Двумерный массив значений заданного количества строк ответа курсорного запроса.
Отсчет строк ответа начинается с текущей строки курсорного запроса.
Если в курсорном запросе нет нужного количества строк ответа, возвращается сколько есть.
Примечание
С функциональной точки зрения функции GetDataRowS
и GetM
идентичны. Отличие в том, что при выполнении функции GetM
СУБД ЛИНТЕР использует пакетную загрузку данных в массив, что при большом количестве запрашиваемых строк может дать выигрыш по времени.
Пример
$err = ExecDirect($cur, "select * from auto;"); $err && ... to do something for error handling ... $err = GetDataRowS($cur, \@res, 5); $err && ... to do something for error handling ... $make1=$res[0][0]; # марка машины в первой строке (1-й столбец) $model1=$res[0][1] # модель машины в первой строке (2-й столбец) … $make3=$res[2][0]; # марка машины в третьей строке (1-й столбец) $model3=$res[2][1] # модель машины в третьей строке (2-й столбец)
См. также функции:
ExecDirect
, Execute
, Fetch
, GetDataColumn
, GetDataRow
, GetDataArray
.