SQL/MX Programming Manual for C and COBOL (G06.24+, H06.03+)

C Sample Programs
HP NonStop SQL/MX Programming Manual for C and COBOL523627-004
A-5
Using Argument Lists in Dynamic SQL
Using Argument Lists in Dynamic SQL
Example A-3 executes the steps shown in Figure 9-1 on page 9-3.
Example A-3. Using Argument Lists in Dynamic SQL (page 1 of 3)
/* ---------------------------------------------------------
Description: Using Argument Lists
Statements: PREPARE
EXECUTE USING ARGUMENTS
DEALLOCATE PREPARE
WHENEVER
GET DIAGNOSTICS
------------------------------------------------------------ */
#include <stdio.h>
#include <string.h>
EXEC SQL MODULE EXF101M NAMES ARE ISO88591;
int main()
{
char SQLSTATE_OK[6]="00000";
char SQLSTATE_NODATA[6]="02000";
EXEC SQL BEGIN DECLARE SECTION;
char SQLSTATE[6];
unsigned NUMERIC (4) hv_empnum; /* Employee table */
char hv_first_name[16];
char hv_last_name[21];
unsigned NUMERIC (8,2) hv_salary;
short hv_salary_i;
unsigned NUMERIC (4) in_empnum;
char hv_sql_stmt[256];
long hv_num; /* Statement info */
long i; /* Used for condition loop */
char hv_sqlstate[6]; /* Condition info */
VARCHAR hv_tabname[129];
VARCHAR hv_colname[129];
VARCHAR hv_msgtxt[129];
EXEC SQL END DECLARE SECTION;
SQLSTATE[5]='\0';
SQLSTATE_OK[5]='\0';
SQLSTATE_NODATA[5]='\0';
printf("\n\nThis example uses argument lists. \n\n");
EXEC SQL WHENEVER SQLERROR GOTO end_prog;