|
Buck, I think Kurt is doing an SQL procedure - not an external RPG
procedure. We don't use host variables in those things, and I haven't
checked about using SET RESULT SETS ARRAY in the context of an SQL
procedure.
Ever learning, I hope!
Vern
On 3/26/2013 5:25 PM, Buck Calabro wrote:
On 3/26/2013 5:48 PM, Anderson, Kurt wrote:People are whining because of the effort they have to go through to
I have a stored procedure and it was returning an output parameter.
consume an output parameter (in Java). Ok, fine (yet here I am, going
through 'effort,' but I like to learn so I guess that's the difference).
So I'm trying to switch the stored procedure to return the SmallInt value
as a single result set. However it doesn't seem to be working.
sysibm/sysdummy1;
In the create procedure statement, after the parameter list, I have:
Result Sets 1
Language SQL
At the very bottom of the procedure (just before the "End"), I have:
DECLARE rsCursor CURSOR FOR SELECT rtnTracking FROM
set w/o doing a "fake" select.OPEN rsCursor;
SET RESULT SETS CURSOR rsCursor;
rtnTracking is a local variable:
Declare rtnTracking SmallInt;
First, I'm getting an error.
Second, I hope there's a better way to set a local variable to a result
You don't have to make a fake SQL call in order to return a result set;
The error (on the Declare Cursor line):
Position 13 Token RSCURSOR was not valid. Valid tokens: GLOBAL.
I'm at IBM i 7.1.
You can return an array - even an array of one element.
// this is the result set we'll be returning
// the names here are what the caller will see
drs ds dim(1000) qualified
d count 10i 0
d name 50 varying
// here's the part that tells the database manager how to handle
// the result set
exec sql
set result sets array :RS for :ROWCOUNT rows;
*inlr = *on;
--buck
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.
As an Amazon Associate we earn from qualifying purchases.
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.