SQL/MX Programming Manual for C and COBOL (G06.24+, H06.03+)
Static Rowsets
HP NonStop SQL/MX Programming Manual for C and COBOL—523627-004
7-35
Limiting the Size of a Rowset-Derived Table
 AS rs(jobcode, jobdesc); 
...
...
EXEC SQL BEGIN DECLARE SECTION END-EXEC.
 01 sqlstate pic x(5).
 01 rs.
 02 ROWSET[5] hvajobcode pic 9(4) comp.
 02 ROWSET[5] hvajobdesc pic x(18).
EXEC SQL END DECLARE SECTION END-EXEC.
 ...
***** Populate the rowset in some way *****
 Move 100 TO hvajobcode (1)
 Move "PROJECT MANAGER" TO hvajobdesc(1)
 Move 200 TO hvajobcode (2)
 Move "PROGRAM MANAGER" TO hvajobdesc(2)
 Move 300 TO hvajobcode (3)
 Move "QUALITY SUPERVISOR" TO hvajobdesc(3)
 Move 400 TO hvajobcode (4)
 Move "TECHNICAL OFFICER" TO hvajobdesc(4)
 Move 500 TO hvajobcode (5)
 Move "EXECUTIVE OFFICER" TO hvajobdesc(5)
 EXEC SQL INSERT INTO job
 SELECT jobcode, jobdesc
 FROM ROWSET(:hvajobcode, :hvajobdesc)
 AS rs(jobcode, jobdesc) END-EXEC.
...
Limiting the Size of a Rowset-Derived Table
When you are inserting rows from a rowset-derived table, you must limit the input size 
to only the rows that have been populated with data.
Example
This example inserts multiple rows into the JOB table. The input size is limited by the 
size of the rowset-derived table:
EXEC SQL BEGIN DECLARE SECTION; 
 char SQLSTATE[6];
 ROWSET[10] unsigned NUMERIC (4) hva_jobcode; 
 ROWSET[10] VARCHAR hva_jobdesc[19]; 
 ...
EXEC SQL END DECLARE SECTION; 
...
/* Populate the first five rows in some way. */ 
...
EXEC SQL INSERT INTO persnl.job 
 SELECT jobcode, jobdesc 
 FROM ROWSET 5 (:hva_jobcode, :hva_jobdesc)
 AS rs(jobcode, jobdesc);
... 
... 
EXEC SQL BEGIN DECLARE SECTION END-EXEC. 
COBOL
C
COBOL










