fetchrow_array returns 最后加0

fetchrow_array returns extra 0 in the end

我正在从 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?

基于对网络的快速浏览,我猜您必须查看 $sth->{syb_result_type} 并忽略您不感兴趣的结果类型。

阅读 DBD::Sybase (which documents $sth->{syb_result_type}) and this 的两个文档(稍微描述了结果类型)。

我认为0是存储过程的结果CS_STATUS_RESULT。我想我找到了零表示成功的证据。