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


in reply to Re^4: My doubts about using fetchall_arrayref
in thread My doubts about using fetchall_arrayref

You cannot. My proposal only works for simple column names. Do you really need to pass the columns names? Can you not use

my $rs = $sth->fetchall_arrayref({});

without specifying the columns? According to the documentation it should work but I do not have your database to test it. This way everything would be controlled by your sql only.

Replies are listed 'Best First'.
Re^6: My doubts about using fetchall_arrayref
by Anonymous Monk on Apr 02, 2013 at 15:44 UTC
    In this case I will use the sample below for SQL queries that require a more complex call, yes I could use this:
    my $rs = $sth->fetchall_arrayref({});
    ... my $sql = "select id, account_number, CONVERT(VARCHAR(10),date,101) a +s date from my_table where id <>'' order by date desc"; my @columns = qw( id account_number box ); my $results = $self->_all_data($sql, \@columns); ...
      If you have a more advanced query like this one:
      my $sql = "select id, account_number, CONVERT(VARCHAR(10),date,101) as + date from my_table where id <> '' order by date desc";
      Then you can call the version of _all_data() that I gave above as either:
      my @columns = qw( id account_number date ); my $results = $self->_all_data($sql, \@columns);
      or
      my $results = $self->_all_data($sql);
      They will both get the same result set.