SQL Programming Manual for Pascal
Examples of Static NonStop SQL Programs
HP NonStop SQL Programming Manual for Pascal—528614-001
B-4
Insertion Program
82 0 PROCEDURE ABORT_TRANSACTION;
83 1 FORWARD;
84 0 PROCEDURE CHECK_SUPPLIER;
85 1 FORWARD;
86 0 PROCEDURE CLOSE_CURSOR;
87 1 FORWARD;
88 0 PROCEDURE COMMIT_TRANSACTION;
89 1 FORWARD;
90 0 PROCEDURE DO_ADD_TO_PARTLOC (VAR IN_DATA_REC: IN_DATA_TYPE);
91 1 FORWARD;
92 0 PROCEDURE DO_ADD_TO_PARTS (VAR IN_DATA_REC: IN_DATA_TYPE);
93 1 FORWARD;
94 0 PROCEDURE START_OPERATIONS;
95 1 FORWARD;
96 0 PROCEDURE SUCCESSFUL_COMPLETION;
97 1 FORWARD;
98 0
99 0
100 0 PROCEDURE START_OPERATIONS;
101 1 BEGIN
102 2 WRITELN(' START PROGRAM NEWPART ***** ');
103 2
104 2 {* Begin TMF transaction *}
105 2
106 2 EXEC SQL BEGIN WORK;
107 2 END; {* START_OPERATIONS *}
108 0
109 0
110 0 PROCEDURE CHECK_SUPPLIER;
111 1 BEGIN
112 2
113 2 {* Open cursor at value of host variable supplier_of_parts
: *}
114 2
115 2 EXEC SQL OPEN GET_SUPPLIER_CURSOR;
116 2 EXEC SQL
117 2 FETCH GET_SUPPLIER_CURSOR INTO
118 2 :SUPPLIER_REC.SUPPNUM,
119 2 :SUPPLIER_REC.SUPPNAME,
120 2 :SUPPLIER_REC.STREET,
121 2 :SUPPLIER_REC.CITY,
122 2 :SUPPLIER_REC.STATE,
123 2 :SUPPLIER_REC.POSTCODE;
124 2
125 2 WRITELN('SUPPLIER IS ', SUPPLIER_REC.SUPPNAME);
126 2 END; {* CHECK_SUPPLIER *}
127 0
128 0
129 0 PROCEDURE DO_ADD_TO_PARTLOC (VAR IN_DATA_REC: IN_DATA_TYPE);
130 1 BEGIN
131 2 PARTLOC_REC.LOC_CODE := IN_DATA_REC.IN_LOC_CODE;
132 2 PARTLOC_REC.PARTNUM := IN_DATA_REC.IN_PARTNUM;
133 2 PARTLOC_REC.QTY_ON_HAND := IN_DATA_REC.IN_QTY;
134 2
135 2 WRITELN('BEGIN INSERT ON PARTLOC ********');
136 2
137 2 EXEC SQL
138 2 INSERT INTO =PARTLOC
139 2 VALUES ( :PARTLOC_REC.LOC_CODE,
140 2 :PARTLOC_REC.PARTNUM,
141 2 :PARTLOC_REC.QTY_ON_HAND );
142 2 END; {* DO_ADD_TO_PARTLOC *}
143 0
144 0