summaryrefslogtreecommitdiff
path: root/src/interfaces/ecpg/test/preproc/define.pgc
blob: 1a4ac7444b88956511555d63e31f41096e6ff078 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <stdio.h>
#include <stdlib.h>

EXEC SQL include ../regression;

EXEC SQL typedef long mmInteger;
EXEC SQL typedef char mmChar;
EXEC SQL typedef short mmSmallInt;

EXEC SQL BEGIN DECLARE SECTION;
struct TBempl
{
  mmInteger idnum;
  mmChar name[21];
  mmSmallInt accs;
};
EXEC SQL END DECLARE SECTION;

int
main (void)
{
  EXEC SQL BEGIN DECLARE SECTION;
  struct TBempl empl;
  EXEC SQL END DECLARE SECTION;

  ECPGdebug (1, stderr);

  empl.idnum = 1;
  EXEC SQL connect to REGRESSDB1;
  if (sqlca.sqlcode)
    {
      printf ("connect error = %ld\n", sqlca.sqlcode);
      exit (sqlca.sqlcode);
    }

  EXEC SQL create table empl
    (idnum integer, name char (20), accs smallint);
  if (sqlca.sqlcode)
    {
      printf ("create error = %ld\n", sqlca.sqlcode);
      exit (sqlca.sqlcode);
    }

  EXEC SQL insert into empl values (1, 'first user', 320);
  if (sqlca.sqlcode)
    {
      printf ("insert error = %ld\n", sqlca.sqlcode);
      exit (sqlca.sqlcode);
    }

  EXEC SQL select idnum, name, accs
	into :empl
	from empl
	where idnum =:empl.idnum;
  if (sqlca.sqlcode)
    {
      printf ("select error = %ld\n", sqlca.sqlcode);
      exit (sqlca.sqlcode);
    }
  printf ("id=%ld name=%s, accs=%d\n", empl.idnum, empl.name, empl.accs);

  EXEC SQL disconnect;
  exit (0);
}