2
我最近使用過這兩種方式來獲取存儲過程的結果。我注意到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
謝謝
你可以給出你正在做的查詢的樣子和輸出的例子嗎?它可能會幫助其他人獲得解決方案。 – simbabque
'fetchrow_array'只返回一行(因此名稱)。如果你做'while(my @row = $ sth-> fetchrow_array){print「@row \ n」; }' – ThisSuitIsBlackNot
我在做'while(my @aData = $ rQuery-> fetchrow_array()){$ rOutputHandler join(',',@ aData)。「\ n」; }' – Imran