in reply to LIMIT clause in Class::DBI
The invoking code looks like this:
The supporting functions added to Class::DBI are on my scratchpaduse Data::Page; my $total_rows = $table->get_count_sql($sql_where_clause); # my $pager = Data::Page->new($total_rows, $G::CF{rows_per_page}, $current_page_num); # Now get only the needed chunk from the DB my @results = $table->get_range_sql($sql_where_clause, $pager->first, $pager->last);
The interesting bit was getting the SQL that would work with Oracle to provide a "limit" or an "offset" like MySQL. This ends up being ridiculously complicated:
Update:Select * From ( SELECT %s ,rownum R FROM (SELECT * FROM %s %s ) ) WHERE R BETWEEN %s AND %s
-------------------------------------
Nothing is too wonderful to be true
-- Michael Faraday
|
|---|