使用Perl更新到DB2时,我遇到了一个问题。
即使表中存在数据,更新查询也会抛出以下错误: SQL0100W找不到FETCH,UPDATE或DELETE的行;或者查询结果是一个空表。 SQLSTATE = 02000
以下是代码:
targetDQN
我之前也正在以这种方式执行数据插入,并且没有问题,但是当涉及到更新时,即使对于指定的where子句存在行,现在也会出现行存在错误。 我还检查了持有者的价值,并且很好。
我还启用了DBI跟踪,下面是日志的一部分:
$sth = $dbh->prepare("UPDATE <table> SET <column1> = ?, <column2> = ? WHERE <column3> = ? AND <column4> = ?");
# start new transaction #
$dbh->begin_work();
foreach my $row (@status_ary)
{
$sth->execute(@$row);
if ( $sth->errstr )
{
print $sth->errstr, "\n";
}
}
$dbh->commit();
$sth->finish;
$dbh->disconnect;