* Standard COBOL (file "SDL027.SCO") calling SQL * procedures in file "SDL027.MCO".
* STANDARD COBOL (file "SDL027.SCO")
**************************************************************** * * COMMENT SECTION * * DATE 1990/09/14 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. * * SDL027.SCO * WRITTEN BY: SUN DAJUN * * THIS ROUTINE TESTS THE SCHEMA DEFINITION LANGUAGE FOR SQL. * * REFERENCES * AMERICAN NATIONAL STANDARD database language - SQL * X3.135-1989 * * SECTION 6.9 View Definition * ****************************************************************
******************** BEGIN TEST0391 ******************* DISPLAY" TEST0391 " DISPLAY" Correlation names used in self-join of view" DISPLAY" Reference X3.135-89 section 6.9 <view def.>" DISPLAY" - - - - - - - - - - - - - - - - - - -" DISPLAY" " MOVE1TO flag MOVE0TO Hi MOVE0TO Hi2 MOVE"NV"TO CITY1 * EXEC SQL DECLARE THERMO CURSOR FOR * SELECT X.CITY, X.MAX_C, Y.MAX_C, * (X.MAX_C + Y.MAX_C) / 2 * FROM CELSIUS_OBSERV X, CELSIUS_OBSERV Y * WHERE X.YEAR_OBSERV = 1984 AND * Y.YEAR_OBSERV = 1985 AND * X.CITY = Y.CITY * ORDER BY 4 DESC END-EXEC
* EXEC SQL OPEN THERMO; CALL"SUB18"USINGSQLCODE MOVESQLCODETO SQL-COD * EXEC SQL FETCH THERMO INTO :CITY1, :Hi, :Hi2, :AVGHi * ; CALL"SUB19"USINGSQLCODE CITY1 Hi Hi2 AVGHi MOVESQLCODETO SQL-COD
DISPLAY" The correct answer is approximately:" DISPLAY" CITY1 = Sun City, AVGHi = 41.945" DISPLAY" 1984 Hi = 43.33, 1985 Hi = 40.56" DISPLAY" SQLCODE >= 0 "
MOVE Hi TO SHOWNUM MOVE Hi2 TO SHOWNUM1 MOVE AVGHi TO SHOWNUM2
DISPLAY" Your answer is:" DISPLAY" CITY1 = ", CITY1 ", AVGHi = ", SHOWNUM2 DISPLAY" 1984 Hi = ", SHOWNUM ", 1985 Hi = ", SHOWNUM1 DISPLAY" SQLCODE = ", SQL-COD if ( SQLCODELESS0) then MOVE0TO flag END-IF
if (CITY1 NOT = "Sun City"OR AVGHi > 41.96OR
AVGHi < 41.93) then MOVE0TO flag END-IF if (Hi2 < 40.54OR Hi2 > 40.57OR Hi < 43.31OR
Hi > 43.35) then MOVE0TO flag END-IF
if ( flag = 1 ) then DISPLAY" *** pass *** " * EXEC SQL INSERT INTO TESTREPORT * VALUES('0391','pass','MCO'); CALL"SUB21"USINGSQLCODE MOVESQLCODETO SQL-COD else DISPLAY" sdl027.sco *** fail *** " * EXEC SQL INSERT INTO TESTREPORT * VALUES('0391','fail','MCO'); ADD1TO errcnt CALL"SUB22"USINGSQLCODE MOVESQLCODETO SQL-COD END-IF
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 und die Messung sind noch experimentell.