× 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.



Repeat after me, "SQL is best for set-at-a-time operations."

Cursors, while provided, needed, and useful, are not usually the best
way to do things.  More people used to record level access, start out
with SQL by trying to duplicate the record at a time processing they are
familiar with using cursors.  However, RPG native I/O will usually
perform much better.  

What processing do you need to do?

I'd consider a solution that does the processing in a user defined
function (UDF) like so:

Update detail
Set dtlflag = MyProcess(fld1,fld2)
Where dtlflag = 'N'
 and key = (select key
            from header
            where hdrflag = 'N'
            )

Another option, would be to use a trigger to handle the required
processing for the entire set of updated detail records at once.

However, we really need to know more about the processing that needs to
be done with each detail record.

HTH,

Charles Wilt
--
iSeries Systems Administrator / Developer
Mitsubishi Electric Automotive America
ph: 513-573-4343
fax: 513-398-1121
  

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx 
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Jake Bruster
Sent: Friday, December 15, 2006 12:35 PM
To: RPG programming on the AS400 / iSeries
Subject: SQL alternative for native I/O

What is the preferred SQL alternative to native database I/O 
in the following scenario? Read a header record and if a flag 
is on, read all the corresponding detail records for the 
header record and for those detail records whose flag is on, 
process the record and update it's flag.

Since SQL does not allow an update to a cursor for joined 
tables, do I create two cursors and update the detail record 
through its separate cursor or do I create one cursor for 
joining the two tables and update the detail record with a 
separate in-line SQL update statement or is there a better 
way to handle this type of processing using embedded SQL?

TIA,

Jake

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
-- 
This is the RPG programming on the AS400 / iSeries (RPG400-L) 
mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.




As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 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.