* Standard COBOL (file "SDL008.SCO") calling SQL * procedures in file "SDL008.MCO"
**************************************************************** * * COMMENT SECTION * * DATE 1988/04/27 STANDARD COBOL LANGUAGE * NIST SQL VALIDATION TEST SUITE V6.0 * DISCLAIMER: * This program was written by employees of NIST to test SQL * implementations for conformance to the SQL standards. * NIST assumes no responsibility for any party's use of * this program. * * SDL008.SCO * WRITTEN BY: HU YANPING * TRANSLATED AUTOMATICALLY FROM EMBEDDED COBOL BY CHRIS SCHANZLE * * THIS ROUTINE TESTS THE SCHEMA DEFINITION LANGUAGE FOR SQL. * * REFERENCES * AMERICAN NATIONAL STANDARD database language - SQL * X3.135-1989 * * SECTION 6. Schema Definition Language * ****************************************************************
MOVE"SULLIVAN"TO uid CALL"AUTHID"USING uid MOVE"not logged in, not"TO uidx CALL"AUTHCK"USING SQLCODE uidx MOVE SQLCODE TO SQL-COD if (uid NOT = uidx) then DISPLAY"ERROR: User " uid " expected." DISPLAY"User " uidx " connected." DISPLAY" " STOPRUN END-IF
MOVE 0 TO errcnt DISPLAY "SQL Test Suite, V6.0, Module COBOL, sdl008.sco" DISPLAY" " DISPLAY "59-byte ID" DISPLAY"TEd Version #" DISPLAY" " * date_time print * ACCEPT TO-DAY FROMDATE ACCEPT THE-TIME FROMTIME DISPLAY"Date run YYMMDD: " TO-DAY " at hhmmssff: " THE-TIME
* EXEC SQL SELECT EMPNUM,EMPNAME,GRADE * INTO :EMPNO1,:EMPNAM,:GRADE1 * FROM HU.STAFF3 * WHERE EMPNUM = 'E3' END-EXEC CALL"SUB1"USING SQLCODE EMPNO1 EMPNAM GRADE1 MOVE SQLCODE TO SQL-COD DISPLAY"EMPNO1=", EMPNO1 ", EMPNAM=", EMPNAM ", GRADE1=",
GRADE1 MOVE SQLCODE TO ii
* SULLIVAN do not have privilege to update GRADE.
* EXEC SQL UPDATE HU.STAFF3 * SET EMPNUM ='E8',GRADE = 30 * WHERE EMPNUM='E3' END-EXEC CALL"SUB2"USING SQLCODE MOVE SQLCODE TO SQL-COD MOVE SQLCODE TO iii DISPLAY" "" ii = ", ii "; iii = ", iii " "
* EXEC SQL UPDATE HU.STAFF3 * SET EMPNUM='E8',EMPNAME='Yang' * WHERE EMPNUM='E3' END-EXEC CALL"SUB3"USING SQLCODE MOVE SQLCODE TO SQL-COD
* EXEC SQL SELECT EMPNUM,EMPNAME,GRADE * INTO :EMPNO1,:EMPNAM,:GRADE1 * FROM HU.STAFF3 * WHERE EMPNUM='E8' END-EXEC CALL"SUB4"USING SQLCODE EMPNO1 EMPNAM GRADE1 MOVE SQLCODE TO SQL-COD DISPLAY"EMPNO1=", EMPNO1 ", EMPNAM=", EMPNAM ", GRADE1=",
GRADE1
DISPLAY"The answer should be iii<0, ii=0, EMPNO1=E8 &
- " GRADE1=13"
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.