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










