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];
char name1[25],date1[21],amount1[9];
EXEC SQL END DECLARE SECTION ;
int	main (int argc, char** argv)
{
	EXEC SQL INIT;
	EXEC SQL DATABASE IS "TEST_DATABASE";
	EXEC SQL DECLARE c CURSOR FOR SELECT FROM loans  FOR UPDATE;
	EXEC SQL OPEN c;
	if(SQLCODE != 0) error(1);
	printf("open c ok\n");
	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(2);
		}
	} while(SQLCODE == 0);
	EXEC SQL INSERT INTO loans SET name,date,amount VALUES "DATAWARE",
		:date,:amount;
	if(SQLCODE != 0) error(3);
	printf("insert ok\n");
	EXEC SQL CLOSE c;
	printf("close c ok\n");
	EXEC SQL DECLARE d CURSOR FOR SELECT FROM loans where name="DATAWARE"
	FOR UPDATE;
	EXEC SQL OPEN d;
	if(SQLCODE != 0) error(4);
	printf("open d ok\n");
	EXEC SQL FETCH d name,date,amount INTO :name,:date,:amount;
	if(SQLCODE != 0) error(5);
	printf("select ok\n");
	EXEC SQL DELETE FROM loans WHERE CURRENT OF d;
	if(SQLCODE != 0) error(6);
	printf("delete ok\n");
	EXEC SQL CLOSE d;
	if(SQLCODE != 0) error(7);
	EXEC SQL SELECT name,date,amount FROM loans INTO :name1,:date1,:amount1 
	   WHERE name = "DATAWARE";
	if(SQLCODE != 100) error(8);
	printf("select 3 ok\n");
	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 ok
Mosca 2 February  1981 $150.00 
Jones 7 February  1981 $33.95 
Kilroy 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 
Peterson 6 June      1981 $50.00 
Wladislaw 25 June      1981 $75.00 
Jones 12 August    1981 $300.00 
insert ok
close c ok
open d ok
select ok
delete ok
select 3 ok
+-+-+-+-+-END-OF-FILE-+-+-+-+-+
chmod 644 stdout
cat > tag <<'+-+-+-+-+-END-OF-FILE-+-+-+-+-+'
Cursor manipulation (1)
+-+-+-+-+-END-OF-FILE-+-+-+-+-+
chmod 644 tag
