Branch data Line data Source code
1 : : #include <stdio.h>
2 : : #include <stdlib.h>
3 : : #include <string.h>
4 : :
5 : : EXEC SQL INCLUDE ../regression;
6 : :
7 : 2 : int main(void) {
8 : : EXEC SQL BEGIN DECLARE SECTION;
9 : : char str[25];
10 : 2 : int i, count=1, loopcount;
11 : : EXEC SQL END DECLARE SECTION;
12 : :
13 : 2 : ECPGdebug(1, stderr);
14 : 2 : EXEC SQL CONNECT TO REGRESSDB1;
15 : :
16 : : EXEC SQL WHENEVER SQLWARNING SQLPRINT;
17 : : EXEC SQL WHENEVER SQLERROR STOP;
18 : :
19 : 2 : EXEC SQL CREATE TABLE My_Table ( Item1 int, Item2 text );
20 [ - + - + ]: 2 :
21 : 2 : EXEC SQL INSERT INTO My_Table VALUES ( 1, 'text1');
22 [ - + - + ]: 2 : EXEC SQL INSERT INTO My_Table VALUES ( 2, 'text2');
23 [ - + - + ]: 2 : EXEC SQL INSERT INTO My_Table VALUES ( 3, 'text3');
24 [ - + - + ]: 2 : EXEC SQL INSERT INTO My_Table VALUES ( 4, 'text4');
25 [ - + - + ]: 2 :
26 : : EXEC SQL DECLARE C CURSOR FOR SELECT * FROM My_Table;
27 : :
28 : 2 : EXEC SQL OPEN C;
29 [ - + - + ]: 2 :
30 : : EXEC SQL WHENEVER NOT FOUND DO BREAK;
31 [ + - ]: 10 : for (loopcount = 0; loopcount < 100; loopcount++) {
32 : 10 : EXEC SQL FETCH 1 IN C INTO :i, :str;
33 [ + + - + : 10 : printf("%d: %s\n", i, str);
- + ]
34 : : }
35 : :
36 : : EXEC SQL WHENEVER NOT FOUND CONTINUE;
37 : 2 : EXEC SQL MOVE BACKWARD 2 IN C;
38 [ - + - + ]: 2 :
39 : 2 : EXEC SQL FETCH :count IN C INTO :i, :str;
40 [ - + - + ]: 2 : printf("%d: %s\n", i, str);
41 : :
42 : 2 : EXEC SQL CLOSE C;
43 [ - + - + ]: 2 :
44 : : EXEC SQL DECLARE D CURSOR FOR SELECT * FROM My_Table WHERE Item1 = $1;
45 : :
46 : 2 : EXEC SQL OPEN D using 1;
47 [ - + - + ]: 2 :
48 : 2 : EXEC SQL FETCH 1 IN D INTO :i, :str;
49 [ - + - + ]: 2 : printf("%d: %s\n", i, str);
50 : :
51 : 2 : EXEC SQL CLOSE D;
52 [ - + - + ]: 2 :
53 : 2 : EXEC SQL DROP TABLE My_Table;
54 [ - + - + ]: 2 :
55 : 2 : EXEC SQL DISCONNECT ALL;
56 [ - + - + ]: 2 :
57 : 2 : return 0;
58 : : }
|