#Here's an example which shows what I am trying to accomplish.  If I 
can determine the number of rows before pushing the data, this can 
simply things for #me when processing the data throught my scripts.  
#
use warnings;
use strict;
use DBI;
use DBD::Oracle;

my $sql=q{  select name, location
            from mytable
};

my $dbh;

eval {
        $dbh = DBI->connect("dbi:Oracle:MYDB",
                                'dbuser', 'dbpass',
              {
                   RaiseError => 1,
                   AutoCommit => 0,
                   ora_session_mode => 0
              }
        );
};

if ( $@ ) {
        outprint('end',"$DBI::errstr\n");
}

my $sth=$dbh->prepare($sql) or die "Couldn't prepare statement: " . DBI-
>errstr;

$sth->execute or die "Couldn't execute statement: " . DBI->errstr;

my $ary;

while ($ary = $sth->fetchrow_array()) {
                #I need to determine number of rows as this will affect 
whether a matrix is used or not
                #a boolean variable $matrix could be returned or a ref 
check done so that the data 
                #processing code can act accordingly
                #$sth->rows only shows total rows after the while loop 
is processed
                #Can I accomplish this without a seperate count(*) 
statement?
                #
                #push @newary,[ @{$ary} ]; # if more than one row
                #or
                #push @newary, @{$ary} ; # single row
}

$sth->finish;

$dbh->disconnect;
#
#ActivePerl 5.8.7 813
#ppm
#-DBD-Oracle 1.16
#-DBI 1.48

Reply via email to