Gotcha. Well ... instead of a $dbh->do(...) ... which would read all the rows into memory before returning, I'd try
the prepare/execute/fetchrow approach and hope the underlying DBD/OCI does the right thing memory wise.
my $sth = $dbh->prepare( $ctas_sql );
$sth->execute();
while( my $row = $sth->fetchrow_arrayref ) {
# do whatever with $row
}
Update: Doh! just reread this and saw it was a create statement, not a select. In that case I'm guessing you're timing out somewhere. You may want to look into using DBI->trace to try and track that down. |