Недавно я использовал оба метода для извлечения результата хранимой процедуры. Я заметил, что fetchrow_array возвращает вывод строк, которые я выбираю внутри хранимой процедуры. В то время как fetchall_arrayref возвращает статус хранимой процедуры в последней строке вместе с выбранными строками в хранимой процедуре.Разница между fetchrow_array и fetchall_arrayref при работе с хранимыми процедурами
Почему у нас есть эта разница и существует ли способ избежать получения статуса хранимой процедуры внутри fetchall_arrayref?
Мои хранимая процедура
CREATE PROCEDURE [dbo].[check_date_proc]
@dateStart DATETIME
AS
BEGIN
SELECT
check_date
FROM
date_Table
WHERE
data_date = @dateStart
END;
GO
и я называю это так
exec check_date_proc '20160920';
fetchrow_array возвращается
20160920
fetchall_arrayref возвращает
20160920
0
Thanks
Можете ли вы привести примеры того, как будет выглядеть запрос, и выход? Это может помочь другим google для решения. – simbabque
'fetchrow_array' возвращает только одну строку (отсюда и название). Что произойдет, если вы сделаете 'while (my @row = $ sth-> fetchrow_array) {print" @row \ n "; } ' – ThisSuitIsBlackNot
Я делаю' while (my @aData = $ rQuery-> fetchrow_array()) { print $ rOutputHandler join (',', @ aData). "\ N"; } ' – Imran