cat > script.cc <<'+-+-+-+-+-END-OF-FILE-+-+-+-+-+'
#include	<mscc.h>
#include <stdlib.h>
EXEC SQL INCLUDE SQLCA;
char st[99];
EXEC SQL BEGIN DECLARE SECTION ;
char *name,*date,*amount;
char *tname,*tdate,*tamount;
char name1[25],date1[21],amount1[9];
short i;
EXEC SQL END DECLARE SECTION ;
int	main (int argc, char** argv)
{
EXEC SQL INIT;
EXEC SQL WHENEVER SQLERROR GOTO err;
EXEC SQL DATABASE IS "TEST_DATABASE";
EXEC SQL SELECT name,date,amount FROM loans INTO :name,:date,:amount 
   WHERE name = "Kilroy";
printf("select 1 ok\n");
i=1;
/* save the values retrieved by SELECT in a static area for later use */
tname=st;
tdate=st+strlen(name)+1;
tamount=tdate+strlen(date)+1;
strcpy(tname,name);
strcpy(tdate,date);
strcpy(tamount,amount);
printf("%s,%s,%s,\n",tname,tdate,tamount);
EXEC SQL UPDATE loans SET name,date,amount VALUES :tname,:tdate:i,:tamount 
   WHERE name = "Kilroy";
printf("update ok\n");
tname = "DATAWARE";
EXEC SQL INSERT INTO loans SET name,date,amount VALUES :tname,:tdate:i,:tamount;
printf("insert ok\n");
EXEC SQL SELECT name,date,amount FROM loans INTO :name1,:date1,:amount1 
   WHERE name = "DATAWARE";
printf("select 2 ok\n");
EXEC SQL EXIT ;
return(0);
err:
	printf("SQLCODE number %ld\n",SQLCODE);
	return(1);
}
+-+-+-+-+-END-OF-FILE-+-+-+-+-+
chmod 644 script.cc
cat > stdout <<'+-+-+-+-+-END-OF-FILE-+-+-+-+-+'
select 1 ok
Kilroy,16 February  1981,$250.00,
update ok
insert ok
select 2 ok
+-+-+-+-+-END-OF-FILE-+-+-+-+-+
chmod 644 stdout
cat > tag <<'+-+-+-+-+-END-OF-FILE-+-+-+-+-+'
Use of pointers and control variables in insert and update (1)
+-+-+-+-+-END-OF-FILE-+-+-+-+-+
chmod 644 tag
