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



Revision 3 :S ...building off Sue's links.

exec sql
insert into table
(flda, fldb, fldc)
:count rows values(:ds);

Great to know...Never realized a block insert from an array could be done. It looks like it always starts from the first occurrence.


-----Original Message-----
From: Mitch Gallman
Sent: Thursday, June 22, 2017 6:57 PM
To: rpg400-l@xxxxxxxxxxxx
Subject: RE: [Caution: Message contains Redirect URL Content] How do I use a sql insert statement taking values from a data structure

Revised my answer...no need to do the use the values clause...

dcl-ds dsRow_t qualified template;
flda char(20);
fldb char(20);
fldc char(20);
end-ds;

dcl-ds ds likeds(dsRow_t) dim(20);

dcl-s dsPtr pointer;
dcl-ds dsRow likeds(dsRow_t) based(dsPtr);

dsPtr = %addr(ds(count).flda);
exec sql
insert into table
(flda, fldb, fldc)
Values(:dsRow.flda,
:dsRow.fldb,
:dsRow.fldc);


Regards,

Mitch

-----Original Message-----
From: Mitch Gallman
Sent: Thursday, June 22, 2017 6:49 PM
To: rpg400-l
Subject: RE: [Caution: Message contains Redirect URL Content] How do I use a sql insert statement taking values from a data structure

I would do something like this:

dcl-ds dsRow_t qualified template;
flda char(20);
fldb char(20);
fldc char(20);
end-ds;

dcl-ds ds likeds(dsRow_t) dim(20);

dcl-s dsPtr pointer;
dcl-ds dsRow likeds(dsRow_t) based(dsPtr);

dsPtr = %addr(ds(count).flda);
exec sql
insert into table
(flda, fldb, fldc)
select :dsRow.flda as flda,
:dsRow.fldb as fldb,
:dsRow.fldc as fldc
from
table(values ' ') dsSource;


Regards,

Mitch

-----Original Message-----
From: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of DFreinkel
Sent: Thursday, June 22, 2017 4:41 PM
To: rpg400-l
Subject: [Caution: Message contains Redirect URL Content] How do I use a sql insert statement taking values from a data structure


I need to convert a multi dimensional data structure into a file

I am using

Insert into table
( flda , fldb, fldc)
Values( :ds(:count).flda,
:ds(:count).fldb,
:ds(:count).fldc
);

The editor and compiler do not like this

How do I do the coding without moving the occurs to a simple data structure which is then loaded into the insert

TIA

Darryl Freinkel
--
This is the RPG programming on the IBM i (AS/400 and 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.

Please contact support@xxxxxxxxxxxx for any subscription related questions.

Help support midrange.com by shopping at amazon.com with our affiliate link: http://amzn.to/2dEadiD

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.