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










