cat > script.cc <<'+-+-+-+-+-END-OF-FILE-+-+-+-+-+'
#include	<mscc.h>
#include <stdlib.h>
void	error	(int	i);
EXEC SQL INCLUDE SQLCA;
EXEC SQL BEGIN DECLARE SECTION ;
char name[25],date[21],amount[9];
EXEC SQL END DECLARE SECTION ;
int	main (int argc, char** argv)
{
	EXEC SQL INIT;
	EXEC SQL DATABASE IS "TEST_DATABASE";
	EXEC SQL OPEN_TABLE loans FOR READ;
	EXEC SQL DECLARE c CURSOR FOR SELECT FROM loans FOR DEFERRED OF name;
	EXEC SQL OPEN c;
	printf("open c for deferred ok\n");
	if(SQLCODE != 0) error(1);
	do {
	EXEC SQL FETCH c name,date,amount INTO :name,:date,:amount;
	switch (SQLCODE) {
		case 0 : printf("%s %s %s\n",name,date,amount);
			 if(!strcmp(name,"Kilroy")){
	EXEC SQL UPDATE loans SET name="DATAWARE" WHERE CURRENT OF c;
			 printf("update ok\n");
			 }
			 if(!strcmp(name,"Peterson")){
	EXEC SQL DELETE FROM loans WHERE CURRENT OF c;
			 printf("delete ok\n");
			 }
			 break;
		case 100: break;
		case 1 : printf(" lock busy\n");
			 break;
		default : error(2);
		}
	} while(SQLCODE == 0);
	EXEC SQL CLOSE c;
	EXEC SQL OPEN c;
	if(SQLCODE != 0) error(3);
	do {
	EXEC SQL FETCH c name,date,amount INTO :name,:date,:amount;
	switch (SQLCODE) {
		case 0 : printf("%s %s %s\n",name,date,amount);
			 break;
		case 100: break;
		case 1 : printf(" lock busy\n");
			 break;
		default : error(4);
		}
	} while(SQLCODE == 0);
	EXEC SQL CLOSE c;
	EXEC SQL EXIT ;
	return 0;
}
void	error (int	i)
{
	printf("error number %d\n",i);
	printf("SQLCODE number %ld\n",SQLCODE);
	exit(1);
}
+-+-+-+-+-END-OF-FILE-+-+-+-+-+
chmod 644 script.cc
cat > stdout <<'+-+-+-+-+-END-OF-FILE-+-+-+-+-+'
open c for deferred ok
Mosca 2 February  1981 $150.00
Jones 7 February  1981 $33.95
Kilroy 16 February  1981 $250.00
update ok
Wladislaw 27 February  1981 $55.00
Jones 3 April     1981 $25.00
Mosca 4 May       1981 $200.00
Wladislaw 12 May       1981 $25.00
Peterson 6 June      1981 $50.00
delete ok
Wladislaw 25 June      1981 $75.00
Jones 12 August    1981 $300.00
Mosca 2 February  1981 $150.00
Jones 7 February  1981 $33.95
DATAWARE 16 February  1981 $250.00
Wladislaw 27 February  1981 $55.00
Jones 3 April     1981 $25.00
Mosca 4 May       1981 $200.00
Wladislaw 12 May       1981 $25.00
Wladislaw 25 June      1981 $75.00
Jones 12 August    1981 $300.00
+-+-+-+-+-END-OF-FILE-+-+-+-+-+
chmod 644 stdout
cat > tag <<'+-+-+-+-+-END-OF-FILE-+-+-+-+-+'
deferred mode corsor
+-+-+-+-+-END-OF-FILE-+-+-+-+-+
chmod 644 tag
