**************************************************************** * * COMMENT SECTION * * DATE 1989/5/21 EMBEDDED 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. * * DML056.PCO * WRITTEN BY: SUN DAJUN * TRANSLATED AUTOMATICALLY FROM EMBEDDED C BY CHRIS SCHANZLE * * THIS ROUTINE TESTS THE LIMIT ON THE NUMBER OF COLUMNS IN A * TABLE(100) AND THE NUMBER OF SET CLAUSES (20) IN AN UPDATE * STATEMENT. * * REFERENCES * AMERICAN NATIONAL STANDARD database language - SQL * X3.135-1989 * * FIPS PUB 127-1, Section 13.5 * Sizing for database constructs * ****************************************************************
MOVE"HU"TO uid CALL"AUTHID"USING uid MOVE"not logged in, not"TO uidx EXECSQLSELECT
USER INTO :uidx FROM HU.ECCO END-EXEC 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, Embedded COBOL, dml056.pco" 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
******************** BEGIN TEST0246 *******************
DISPLAY" FIPS sizing TEST0246 " DISPLAY"This routine tests the number of values (100) in an
- " INSERT" DISPLAY" - - - - - - - - - - - - - - - - - - -"
EXECSQLSELECT C6,C16,C26,C36,C46,C56,
C66,C76,C86,C96,C100 INTO :t1,:t2,:t3,:t4,:t5,:t6,:t7,:t8,:t9,
:t0,:s1 FROM T100
WHERE C1 = 'ZA'AND C2 = 'ZB'END-EXEC MOVE SQLCODE TO SQL-COD DISPLAY"The correct answer should be:" DISPLAY" code1 = 0 " DISPLAY" t1 = AA, t2=AB" DISPLAY" t3 = AC, t4=AD" DISPLAY" t5 = AE, t6=AF" DISPLAY" t7 = AG, t8=AH" DISPLAY" t9 = AI, t0=AJ" DISPLAY" s1 = OG "
DISPLAY"Your answer is:" DISPLAY" code1 = ", code1 DISPLAY" t1 =", t1 ",t2 =", t2 DISPLAY" t3 =", t3 ",t4 =", t4 DISPLAY" t5 =", t5 ",t6 =", t6 DISPLAY" t7 =", t7 ",t8 =", t8 DISPLAY" t9 =", t9 ",t0 =", t0 DISPLAY" s1 =", s1 MOVE 0 TO iferr if (t1 NOT = "AA") then COMPUTE iferr = iferr + 1 END-IF if (t2 NOT = "AB") then COMPUTE iferr = iferr + 1 END-IF if (t3 NOT = "AC") then COMPUTE iferr = iferr + 1 END-IF if (t4 NOT = "AD") then COMPUTE iferr = iferr + 1 END-IF if (t5 NOT = "AE") then COMPUTE iferr = iferr + 1 END-IF if (t6 NOT = "AF") then COMPUTE iferr = iferr + 1 END-IF if (t7 NOT = "AG") then COMPUTE iferr = iferr + 1 END-IF if (t8 NOT = "AH") then COMPUTE iferr = iferr + 1 END-IF if (t9 NOT = "AI") then COMPUTE iferr = iferr + 1 END-IF if (t0 NOT = "AJ") then COMPUTE iferr = iferr + 1 END-IF if (s1 NOT = "OG") then COMPUTE iferr = iferr + 1 END-IF EXECSQL ROLLBACK WORK END-EXEC MOVE SQLCODE TO SQL-COD if (code1 = 0 AND iferr = 0) then EXECSQLINSERTINTO TESTREPORT
VALUES('0246','pass','PCO') END-EXEC MOVE SQLCODE TO SQL-COD DISPLAY" *** pass *** " else EXECSQLINSERTINTO TESTREPORT
VALUES('0246','fail','PCO') END-EXEC ADD 1 TO errcnt MOVE SQLCODE TO SQL-COD DISPLAY" dml056.pco *** fail *** " END-IF DISPLAY"================================================"
DISPLAY" " EXECSQL COMMIT WORK END-EXEC MOVE SQLCODE TO SQL-COD
******************** END TEST0246 *******************
******************** BEGIN TEST0247 *******************
DISPLAY" FIPS sizing TEST0247 " DISPLAY" This routine tests the number of set clauses in an
- " update" DISPLAY" - - - - - - - - - - - - - - - - - - -"
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.