perl – fetchall_arrayref中的foreach值

前端之家收集整理的这篇文章主要介绍了perl – fetchall_arrayref中的foreach值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_301_4@
我正在尝试为fetchall_arrayref中的每个值执行一个foreach循环,并且遇到了一些麻烦.

我有:

my $list = $sth->fetchall_arrayref({});
print Dumper($list);

这给了我:

$VAR1 = [
          {
            'ID_NUMBER' => '123'
          },{
            'ID_NUMBER' => '456'
          },{
            'ID_NUMBER' => '5666'
          },{
            'ID_NUMBER' => '45645'
          },{
            'ID_NUMBER' => '23422'
          }
        ];

我不知道如何格式化我的foreach循环打印每个id_number的值.最终我想用每个值运行一个查询,但是一旦我开始工作,我就可以想出来.

谢谢你的帮助.

@H_301_4@

解决方法

您应该使用 fetchrow_hashref而不是单独执行每个操作.这将使它更具可读性,并且从数据库的角度来看它不会影响性能.

while (my $res = $sth->fetchrow_hashref) {
  print Dumper $res;
  $sth2->execute($res->{ID_NUMBER});
}

如果你想用fetchall_arrayref做它,它会像这样工作:

my $list = $sth->fetchall_arrayref({});
foreach my $res (@{ $list }) {
  $sth2->execute($res->{ID_NUMBER});
}
@H_301_4@ @H_301_4@

猜你在找的Perl相关文章