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