我从perl
调用sybase存储过程create procedure testprocedure2 as
begin
select 'one'
end
GO
在perl中我使用DBI
do {
while(my @row = $sth->fetchrow_array()){
print $row[0]."\n";
}
} while ($sth->{syb_more_results});
结果,我得到了
One
0
为什么我最后得到额外的0?
答案 0 :(得分:3)
基于对网络的快速浏览,我猜测您必须查看$sth->{syb_result_type}
并忽略您不感兴趣的结果类型。
阅读DBD::Sybase(文档$sth->{syb_result_type}
)和this(稍微描述结果类型)的文档。
我认为0
是CS_STATUS_RESULT
,即存储过程的结果。我认为我发现确认零表示成功。