SQL Programming Manual for Pascal
Examples of Static NonStop SQL Programs
HP NonStop SQL Programming Manual for Pascal—528614-001
B-10
Date-Time Program
 31 0 { Invoke the PROJECTS table into 3 record areas for:  }
 32 0 { --storing the current dates     }
 33 0 { --storing the original dates     }
 34 0 { --storing the values entered by the user as search criteria }
 35 0 { The original dates will be used in the report function.  }
 36 0 {          }
 37 0 { The CREATE TABLE statement for the PROJECTS table is:  }
 38 0 {          }
 39 0 { CREATE TABLE PROJECTS      }
 40 0 { ( PROJECT_NAME CHAR(10) NO DEFAULT NOT NULL,   }
 41 0 { START_DATE DATETIME YEAR TO MINUTE NO DEFAULT NOT NULL,  }
 42 0 { END_DATE DATETIME YEAR TO MINUTE NO DEFAULT NOT NULL,  }
 43 0 { WAIT_TIME INTERVAL DAY(2) NO DEFAULT NOT NULL)   }
 44 0 { CATALOG $VOL.TESTCAT      }
 45 0 {          }
 46 0 {          }
 47 0 { Note that INVOKE generates an extra byte for INTERVAL values,}
 48 0 { to accommodate a possible negative sign.    }
 49 0
 50 0 EXEC SQL BEGIN DECLARE SECTION;
 51 0 EXEC SQL INVOKE =PROJECTS AS PROJECTS_TYPE;
 1 0 {* Record Definition for table \SYS.$VOL.TESTS.PROJECTS *}
 2 0 {* Definition current at 14:41:54 - 08/23/91 *}
 3 0 type
 4 0 projects_type = record
 5 1 project_name : fstring(10);
 6 1 start_date : fstring(16);
 7 1 end_date : fstring(16);
 8 1 wait_time : fstring(3);
 9 1 END;
 10 1
 52 0
 53 0 VAR
 54 0 USER_PROJECTS_REC : PROJECTS_TYPE;
 55 0 OLD_PROJECTS_REC : PROJECTS_TYPE;
 56 0 NEW_PROJECTS_REC : PROJECTS_TYPE;
 57 0
 58 0 EXEC SQL END DECLARE SECTION;
 59 0
 60 0 SQLCODE : INTEGER; { for error checking }
 61 0
 62 0 SEL_INDEX: INTEGER; { for user's choice from menu }
 63 0
 64 0  EXEC SQL INCLUDE SQLCA; { for SQLCADISPLAY }
 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;
 65 0
 66 0 { Declare cursors for report function : }
 67 0
 68 0 EXEC SQL
 69 0  DECLARE OLD_DATES_CURSOR CURSOR FOR
 70 0  SELECT PROJECT_NAME,
 71 0   START_DATE,
 72 0   END_DATE
 73 0  FROM =PROJECTS;
 74 0










