×
The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.
Hi Stefan,
I want to be open - I can't help you with result sets - but I also think that they are a quite "traditional" method of returning a set of rows.
The more modern approach would be to write a user defined table function (UDTF) - with that you can even use the returned data set inside of CTEs or any SQL construct (aside from updates/deletes).
Scott Klement created a nice presentation about UDTFs some while ago, and it's still circulating in the net:
https://www.scottklement.com/udtf/
Maybe think about it - it's the "modern SQL" approach to returning row data that isn't available directly in SQL.
I recently came to a "legacy" solution where the team has stored an RPG array in a large char-buffer in a table - well, obviously because they wanted to access the data as an indexed array and not a individual fields. So I used their array definition and mapped the data into an UDTF - now I simply join the original table with my table function and I have all data together in one simple SQL query.
HTH
Daniel
Am 18.07.2024 um 21:10 schrieb stefan@xxxxxxxxxx:
Hi,
Just started playing with result sets in rpg.
I declare a ds dbt dim(10 000);
Then I declare, prepare ,open and fetch from a cursor.
When reaching eof I do:
exec sql
set result sets array :dbt
for :rowsreturned rows
;
How to deal with a situation when I get more than 10 000 rows? Previous fetch is then overlaid with new data ....
I guess I can only run the set result set statement once?
The expectation is to return a few 100 000 rows ( more than fits into a 16Mb ds );
Obviously I’m missing something.....
Thanks in advance for any kick in the right direction.
Stefan
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact
[javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.