SQL Programming Manual for TAL

Examples of Dynamic NonStop SQL Programs
HP NonStop SQL Programming Manual for TAL527887-001
C-12
Detailed Dynamic SQL Program
The TAL compiler listing for TALDYN is shown on the following pages.
Page 1 [1] $VOL1.S04.TALDYN 1991-10-15 13:42:28
TAL - T9250C30 - (01NOV91)
Copyright Tandem Computers Incorporated 1976, 1978, 1981-83, 1985, 1987-91
1. 000000 0 0 ?SQL NOWHENEVERLIST
2. 000000 0 0 ?SYMBOLS, INSPECT, SAVEABEND, NOMAP, NOCODE, NOGMAP, NOLMAP,
DATAPAGES 64
3. 000000 0 0 ?SEARCH \SYS1.$SYSTEM.SYSTEM.TALLIB
Search file: \SYS1.$SYSTEM.SYSTEM.TALLIB 1991-08-30 11:14:19
4. 000000 0 0
5. 000000 0 0 LITERAL NULL^ADDR = %HFFFC0000%D; ! Guaranteed invalid 32-bit
address.
6. 000000 0 0 LITERAL MAX^COLUMN^NAME^SIZE = 40; ! Maximum size of a SQL
column name.
7. 000000 0 0 LITERAL MAX^SQL^CHAR^LENGTH = 255; ! Maximum length of SQL
char string.
8. 000000 0 0 LITERAL MAX^SQL^STMT^LENGTH = 512; ! Maximum size of SQL
statement we
9. 000000 0 0 ! will accept in this
program.
10. 000000 0 0 !--------------------------------------------------------
11. 000000 0 0 ! Declare SQLCA and SQLSA
12. 000000 0 0 !--------------------------------------------------------
13. 000000 0 0
14. 000000 0 0 EXEC SQL INCLUDE SQLCA;
14. 000000 0 0 EXEC SQL INCLUDE SQLCA;
Source file: [2] $SYSTEM.#3192 1991-10-15 13:42:37
1. 000000 0 0 struct .SQLCA;
2. 000000 0 0 BEGIN
3. 000000 0 1 STRING filler^[0:429];
4. 000000 0 1 END; -- SQLCA
Source file: [1] $VOL1.S04.TALDYN 1991-10-15 13:33:55
15. 000327 0 0
16. 000327 0 0 EXEC SQL INCLUDE SQLSA;
16. 000327 0 0 EXEC SQL INCLUDE SQLSA;
Source file: [3] $SYSTEM.#3193 1991-10-15 13:42:39
1. 000327 0 0 STRUCT .sqlsa;
2. 000327 0 0 BEGIN
3. 000327 0 1 STRING eye^catcher[0:1];
4. 000327 0 1 INT version;
5. 000327 0 1 STRUCT dml;
6. 000327 0 1 BEGIN
7. 000327 0 2 INT num^tables;
8. 000327 0 2 STRUCT stats[0:15];
9. 000327 0 2 BEGIN
10. 000327 0 3 STRING table^name[0:23];
11. 000327 0 3 INT(32) records^accessed;
12. 000327 0 3 INT(32) records^used;
13. 000327 0 3 INT(32) disc^reads;
14. 000327 0 3 INT(32) messages;
15. 000327 0 3 INT(32) message^bytes;
16. 000327 0 3 INT waits;
17. 000327 0 3 INT escalations;
18. 000327 0 3 STRING sqlsa^reserved[0:3];
19. 000327 0 3 END; -- stats
20. 000327 0 2 END; -- dml
21. 000327 0 1 STRUCT prepare = dml;
22. 000327 0 1 BEGIN
23. 000327 0 2 INT input^num;
24. 000327 0 2 INT input^names^len;
25. 000327 0 2 INT output^num;
26. 000327 0 2 INT output^names^len;
27. 000327 0 2 INT name^map^len;