SQL Programming Manual for Pascal
Examples of Dynamic NonStop SQL Programs
HP NonStop SQL Programming Manual for Pascal—528614-001
C-10
Detailed Dynamic SQL Program
54 0 {**********************************************************}
55 0 {* Declare SQLCA and SQLSA. *}
56 0 {**********************************************************}
57 0 EXEC SQL INCLUDE SQLCA; { SQL Communication Area }
1 0 TYPE
2 0 SQLCA_TYPE = RECORD
3 1 filler : ARRAY [1..430] OF BYTE;
4 1 END;
5 0
6 0 VAR
7 0 sqlca : SQLCA_TYPE;
58 0 EXEC SQL INCLUDE SQLSA; { SQL Statistics Area }
1 0 TYPE
2 0 STATS_TYPE = RECORD
3 1 table_name : FSTRING(24);
4 1 records_accessed : LONGINT;
5 1 records_used : LONGINT;
6 1 disc_reads : LONGINT;
7 1 messages : LONGINT;
8 1 message_bytes : LONGINT;
9 1 waits : INTEGER;
10 1 escalations : INTEGER;
11 1 sqlsa_reserved : FSTRING(4);
12 1 END;
13 0
14 0 DML_TYPE = RECORD
15 1 num_tables : INTEGER;
16 1 stats : ARRAY [1..16] OF STATS_TYPE;
17 1 END;
18 0
19 0 PREPARE_TYPE = RECORD
20 1 input_num : INTEGER;
21 1 input_names_len : INTEGER;
22 1 output_num : INTEGER;
23 1 output_names_len : INTEGER;
24 1 name_map_len : INTEGER;
25 1 sql_statement_type : INTEGER;
26 1 END;
27 0
28 0 SQLSA_TYPE = RECORD
29 1 eye_catcher : FSTRING(2);
30 1 version : INTEGER;
31 1 CASE INTEGER OF
32 1 1: (dml : DML_TYPE);
33 1 2: (prepare : PREPARE_TYPE);
34 1 END;
35 0 VAR
36 0 sqlsa : SQLSA_TYPE;
59 0