http://www.perlmonks.org?node_id=1101171


in reply to Re^7: fetchrow_array loop in perl 5.10
in thread fetchrow_array loop in perl 5.10

the delete is from the start of the program, which is I think don't matter as even if I comment out the delete part, the loop would still not finish all rows returned.

Replies are listed 'Best First'.
Re^9: fetchrow_array loop in perl 5.10
by Anonymous Monk on Sep 19, 2014 at 15:40 UTC
    my $sth; my $row; my $newAssetBlockId = 13453; my $assetDelSql = "DELETE FROM nl_asset WHERE asset_block_id = ? +"; my $assetDelStmt = $dbh->prepare($assetDelSql); $assetDelStmt->execute($newAssetBlockId); $assetDelStmt->finish; my $assetInsSql = "SELECT asset_id, field_name, mime_type, text_a +sset, clob_asset, blob_asset, status, add_user FROM nl_asset WHERE asset_block_id = ? and status = ? order b +y field_name desc"; my $assetInsStmt = $dbh->prepare($assetInsSql); my $assetInsertSql = "insert into nl_asset (asset_id, asset_block_id, + field_name, text_asset, clob_asset, blob_asset, mime_type, add_user, + add_dttm, status) values (next value for NL_ASSET_SEQ, ?, ?, ?, ?, ? +, ?, ?, current timestamp, ?)"; my $assetInsertStmt = $dbh->prepare($assetInsertSql); $assetInsStmt->execute(12959, 'A'); while (my ($assetId, $fieldName, $mimeType, $textAsset, $clobAsset +, $blobAsset, $status, $addUser) = $assetInsStmt->fetchrow_array()) { dme::log_msg("assetId with $fieldName"); $assetInsertStmt->execute($newAssetBlockId, $fieldName, $textA +sset, $clobAsset, $blobAsset, $mimeType, $addUser, $status); dme::log_msg($dbh->errstr) if ($dbh->errstr); dme::log_msg("done with $assetId"); }
Re^9: fetchrow_array loop in perl 5.10
by mje (Curate) on Sep 19, 2014 at 09:03 UTC

    So show us the real code that produced that trace.