SQL/MX Programming Manual for C and COBOL (G06.24+, H06.03+)
Dynamic SQL Cursors
HP NonStop SQL/MX Programming Manual for C and COBOL—523627-004
11-2
Steps for Using a Dynamic SQL Cursor
Steps for Using a Dynamic SQL Cursor
Figure 11-1 shows the steps presented within the complete C program. These steps 
are executed in the sample program Example A-6 on page A-15. 
Figure 11-1. Using a Dynamic SQL Cursor in a C Program
...
EXEC SQL BEGIN DECLARE SECTION;
short hostvar;
char curspec[80];
...
EXEC SQL END DECLARE SECTION; 
...
strcpy(curspec,"SELECT column1,column2,column3" 
 " FROM catalog.schema.table" 
 " WHERE column1 = CAST(? AS sql_type)");
...
EXEC SQL PREPARE cursor_spec FROM :curspec;
...
EXEC SQL DECLARE sql_cursor CURSOR FOR cursor_spec;
...
void find_row(void)
{ 
...
hostvar = initial_value; 
...
EXEC SQL OPEN sql_cursor USING :hostvar; 
...
EXEC SQL FETCH sql_cursor 
 INTO :hostvar1, :hostvar2, :hostvar3 ;
...
... /* Process values in the host variable(s). */ 
...
... /* If last row has not been processed, */ 
 /* branch back to fetch another row. */ 
...
EXEC SQL CLOSE sql_cursor;
...
}
...
EXEC SQL DEALLOCATE PREPARE cursor_spec; 
...
C
1
2
3
4
5
6
7
8
9










