SQL Programming Manual for Pascal
Examples of Static NonStop SQL Programs
HP NonStop SQL Programming Manual for Pascal—528614-001
B-14
Date-Time Program
251 0 PROCEDURE FETCH_AND_DISPLAY_OLD;
252 1 BEGIN
253 2 EXEC SQL
254 2 FETCH OLD_DATES_CURSOR INTO
255 2 :OLD_PROJECTS_REC.PROJECT_NAME,
256 2 :OLD_PROJECTS_REC.START_DATE
257 2 TYPE AS DATETIME YEAR TO MINUTE,
258 2 :OLD_PROJECTS_REC.END_DATE
259 2 TYPE AS DATETIME YEAR TO MINUTE;
260 2
261 2 IF (SQLCODE <> 100) AND (SQLCODE >= 0) THEN
262 3 BEGIN
263 4 WRITELN('PROJECT NAME: ',
OLD_PROJECTS_REC.PROJECT_NAME);
264 4 WRITELN('START DATE: ',
OLD_PROJECTS_REC.START_DATE);
265 4 WRITELN('END DATE: ', OLD_PROJECTS_REC.END_DATE);
266 4 WRITELN;
267 4 END;
268 2 END; { fetch_and_display_old }
269 0
270 0
271 0 PROCEDURE FETCH_AND_DISPLAY_NEW;
272 1 BEGIN
273 2 EXEC SQL
274 2 FETCH NEW_DATES_CURSOR INTO
275 2 :NEW_PROJECTS_REC.PROJECT_NAME,
276 2 :NEW_PROJECTS_REC.START_DATE
277 2 TYPE AS DATETIME YEAR TO MINUTE,
278 2 :NEW_PROJECTS_REC.END_DATE
279 2 TYPE AS DATETIME YEAR TO MINUTE,
280 2 :NEW_PROJECTS_REC.WAIT_TIME
281 2 TYPE AS INTERVAL DAY(2);
282 2
283 2 IF (SQLCODE <> 100) AND (SQLCODE >= 0) THEN
284 3 BEGIN
285 4 WRITELN('PROJECT NAME: ',
NEW_PROJECTS_REC.PROJECT_NAME);
286 4 WRITELN('START DATE: ', NEW_PROJECTS_REC.START_DATE);
287 4 WRITELN('END DATE: ', NEW_PROJECTS_REC.END_DATE);
288 4 WRITELN('WAIT TIME: ', NEW_PROJECTS_REC.WAIT_TIME,'
DAYS');
289 4 WRITELN;
290 4 END;
291 2 END; { fetch_and_display_new }
292 0
293 0
294 0 { Re-enable NOT FOUND checking: }
295 0 EXEC SQL
296 0 WHENEVER NOT FOUND CALL :NOT_FOUND;
297 0
298 0
299 0 PROCEDURE TERMINATE_PROG;
300 1 BEGIN
301 2 WRITELN;
302 2 WRITELN (' I DID IT ALL! TERMINATING NOW .... ');
303 2 END; { terminate_prog }
304 0
305 0