**************************************************************** * * COMMENT SECTION * * DATE 1992/06/11 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. * * SDL030.PCO * WRITTEN BY: DAVID W. FLATER * * THIS ROUTINE TESTS THE SCHEMA DEFINITION LANGUAGE FOR SQL. * * REFERENCES * ANSI SQL-1992 * 11.36 <grant statement> * ****************************************************************
COMPUTE tmpint = -99 DISPLAY"SELECT INTTEST INTO :tmpint FROM CUGINI.EE;" EXECSQLSELECT INTTEST INTO :tmpint FROM CUGINI.EE END-EXEC MOVE SQLCODE TO SQL-COD MOVE SQLCODE TO ii DISPLAY"SQLCODE should be 0; its value is ", ii DISPLAY"tmpint should be 0; its value is ", tmpint
if (ii NOT = 0 OR tmpint NOT = 0) then MOVE 0 TO flag END-IF
DISPLAY"INSERT INTO CUGINI.EE VALUES (9);" EXECSQLINSERTINTO CUGINI.EE
VALUES (9) END-EXEC MOVE SQLCODE TO SQL-COD MOVE SQLCODE TO ii DISPLAY"SQLCODE should be < 0; its value is ", ii
if (ii NOT < 0) then MOVE 0 TO flag END-IF
DISPLAY"SELECT COUNT(*) FROM CUGINI.EE;" COMPUTE tmpcnt = -1 EXECSQLSELECTCOUNT(*) INTO :tmpcnt FROM CUGINI.EE END-EXEC MOVE SQLCODE TO SQL-COD MOVE SQLCODE TO ii DISPLAY"SQLCODE should be 0; its value is ", ii DISPLAY"COUNT should be 1; its value is ", tmpcnt
if (ii NOT = 0 OR tmpcnt NOT = 1) then MOVE 0 TO flag END-IF
DISPLAY"UPDATE CUGINI.EE" DISPLAY" SET INTTEST = 1;" EXECSQL UPDATE CUGINI.EE SET INTTEST = 1 END-EXEC MOVE SQLCODE TO SQL-COD MOVE SQLCODE TO ii DISPLAY"SQLCODE should be < 0; its value is ", ii
if (ii NOT < 0) then MOVE 0 TO flag END-IF
DISPLAY"SELECT COUNT(*) FROM CUGINI.EE WHERE INTTEST = 1;" COMPUTE tmpcnt = -1 EXECSQLSELECTCOUNT(*) INTO :tmpcnt FROM CUGINI.EE WHERE INTTEST = 1 END-EXEC MOVE SQLCODE TO SQL-COD MOVE SQLCODE TO ii DISPLAY"SQLCODE should be 0; its value is ", ii DISPLAY"COUNT should be 0; its value is ", tmpcnt
if (ii NOT = 0 OR tmpcnt NOT = 0) then MOVE 0 TO flag END-IF
DISPLAY"DELETE FROM CUGINI.EE;" EXECSQLDELETEFROM CUGINI.EE END-EXEC MOVE SQLCODE TO SQL-COD MOVE SQLCODE TO ii DISPLAY"SQLCODE should be < 0; its value is ", ii
if (ii NOT < 0) then MOVE 0 TO flag END-IF
DISPLAY"SELECT COUNT(*) FROM CUGINI.EE;" COMPUTE tmpcnt = -1 EXECSQLSELECTCOUNT(*) INTO :tmpcnt FROM CUGINI.EE END-EXEC MOVE SQLCODE TO SQL-COD MOVE SQLCODE TO ii DISPLAY"SQLCODE should be 0; its value is ", ii DISPLAY"COUNT should be 1; its value is ", tmpcnt
if (ii NOT = 0 OR tmpcnt NOT = 1) then MOVE 0 TO flag END-IF
EXECSQL ROLLBACK WORK END-EXEC MOVE SQLCODE TO SQL-COD
if ( flag = 1 ) then DISPLAY" *** pass *** " EXECSQLINSERTINTO HU.TESTREPORT
VALUES('0464','pass','PCO') END-EXEC MOVE SQLCODE TO SQL-COD else DISPLAY" sdl030.pco *** fail *** " EXECSQLINSERTINTO HU.TESTREPORT
VALUES('0464','fail','PCO') END-EXEC MOVE SQLCODE TO SQL-COD COMPUTE errcnt = errcnt + 1 END-IF
DISPLAY"INSERT INTO CUGINI.FF VALUES (-99);" EXECSQLINSERTINTO CUGINI.FF
VALUES (-99) END-EXEC MOVE SQLCODE TO SQL-COD MOVE SQLCODE TO ii DISPLAY"SQLCODE should be = 0; its value is ", ii
if (ii NOT = 0) then MOVE 0 TO flag END-IF
MOVE 0 TO tmpint DISPLAY"SELECT INTTEST INTO :tmpint FROM CUGINI.FF;" EXECSQLSELECT INTTEST INTO :tmpint FROM CUGINI.FF END-EXEC MOVE SQLCODE TO SQL-COD MOVE SQLCODE TO ii DISPLAY"SQLCODE should be < 0; its value is ", ii DISPLAY"tmpint should NOT be -99; its value is ", tmpint
if (ii NOT < 0 OR tmpint = -99) then MOVE 0 TO flag END-IF
DISPLAY"UPDATE CUGINI.FF SET INTTEST = 1;" EXECSQL UPDATE CUGINI.FF SET INTTEST = 1 END-EXEC MOVE SQLCODE TO SQL-COD MOVE SQLCODE TO ii DISPLAY"SQLCODE should be < 0; its value is ", ii
if (ii NOT < 0) then MOVE 0 TO flag END-IF
DISPLAY"DELETE FROM CUGINI.FF;" EXECSQLDELETEFROM CUGINI.FF END-EXEC MOVE SQLCODE TO SQL-COD MOVE SQLCODE TO ii DISPLAY"SQLCODE should be < 0; its value is ", ii
if (ii NOT < 0) then MOVE 0 TO flag END-IF
EXECSQL ROLLBACK WORK END-EXEC MOVE SQLCODE TO SQL-COD
if ( flag = 1 ) then DISPLAY" *** pass *** " EXECSQLINSERTINTO HU.TESTREPORT
VALUES('0465','pass','PCO') END-EXEC MOVE SQLCODE TO SQL-COD else DISPLAY" sdl030.pco *** fail *** " EXECSQLINSERTINTO HU.TESTREPORT
VALUES('0465','fail','PCO') END-EXEC MOVE SQLCODE TO SQL-COD COMPUTE errcnt = errcnt + 1 END-IF
DISPLAY"UPDATE CUGINI.GG" DISPLAY" SET C1 = 3;" EXECSQL UPDATE CUGINI.GG SET C1 = 3 END-EXEC MOVE SQLCODE TO SQL-COD MOVE SQLCODE TO ii DISPLAY"SQLCODE should be = 0; its value is ", ii
if (ii NOT = 0) then MOVE 0 TO flag END-IF
DISPLAY"SELECT C1 INTO :tmpint FROM CUGINI.GG;" COMPUTE tmpint = -1 EXECSQLSELECT C1 INTO :tmpint FROM CUGINI.GG END-EXEC MOVE SQLCODE TO SQL-COD MOVE SQLCODE TO ii DISPLAY"SQLCODE should be < 0; its value is ", ii DISPLAY"tmpint should NOT be 1 or 3; its value is ",
tmpint
if (ii NOT < 0 OR tmpint = 1 OR tmpint = 3) then MOVE 0 TO flag END-IF
DISPLAY"INSERT INTO CUGINI.GG VALUES (-99);" EXECSQLINSERTINTO CUGINI.GG
VALUES (-99) END-EXEC MOVE SQLCODE TO SQL-COD MOVE SQLCODE TO ii DISPLAY"SQLCODE should be < 0; its value is ", ii
if (ii NOT < 0) then MOVE 0 TO flag END-IF
DISPLAY"DELETE FROM CUGINI.GG;" EXECSQLDELETEFROM CUGINI.GG END-EXEC MOVE SQLCODE TO SQL-COD MOVE SQLCODE TO ii DISPLAY"SQLCODE should be < 0; its value is ", ii
if (ii NOT < 0) then MOVE 0 TO flag END-IF
EXECSQL ROLLBACK WORK END-EXEC MOVE SQLCODE TO SQL-COD
if ( flag = 1 ) then DISPLAY" *** pass *** " EXECSQLINSERTINTO HU.TESTREPORT
VALUES('0466','pass','PCO') END-EXEC MOVE SQLCODE TO SQL-COD else DISPLAY" sdl030.pco *** fail *** " EXECSQLINSERTINTO HU.TESTREPORT
VALUES('0466','fail','PCO') END-EXEC MOVE SQLCODE TO SQL-COD COMPUTE errcnt = errcnt + 1 END-IF
DISPLAY"DELETE FROM CUGINI.HH;" EXECSQLDELETEFROM CUGINI.HH END-EXEC MOVE SQLCODE TO SQL-COD MOVE SQLCODE TO ii DISPLAY"SQLCODE should be = 0; its value is ", ii
if (ii NOT = 0) then MOVE 0 TO flag END-IF
DISPLAY"INSERT INTO CUGINI.HH VALUES (99);" EXECSQLINSERTINTO CUGINI.HH
VALUES (99) END-EXEC MOVE SQLCODE TO SQL-COD MOVE SQLCODE TO ii DISPLAY"SQLCODE should be < 0; its value is ", ii
if (ii NOT < 0) then MOVE 0 TO flag END-IF
COMPUTE tmpint = -1 DISPLAY"SELECT SMALLTEST INTO :tmpint FROM CUGINI.HH;" EXECSQLSELECT SMALLTEST INTO :tmpint FROM CUGINI.HH END-EXEC MOVE SQLCODE TO SQL-COD MOVE SQLCODE TO ii DISPLAY"SQLCODE should be < 0; its value is ", ii DISPLAY"tmpint should NOT be 2 or 99; its value is ",
tmpint
if (ii NOT < 0 OR tmpint = 2 OR tmpint = 99) then MOVE 0 TO flag END-IF
DISPLAY"UPDATE CUGINI.HH SET SMALLTEST = -99;" EXECSQL UPDATE CUGINI.HH SET SMALLTEST = -99 END-EXEC MOVE SQLCODE TO SQL-COD MOVE SQLCODE TO ii DISPLAY"SQLCODE should be < 0; its value is ", ii
if (ii NOT < 0) then MOVE 0 TO flag END-IF
EXECSQL ROLLBACK WORK END-EXEC MOVE SQLCODE TO SQL-COD
if ( flag = 1 ) then DISPLAY" *** pass *** " EXECSQLINSERTINTO HU.TESTREPORT
VALUES('0467','pass','PCO') END-EXEC MOVE SQLCODE TO SQL-COD else DISPLAY" sdl030.pco *** fail *** " EXECSQLINSERTINTO HU.TESTREPORT
VALUES('0467','fail','PCO') END-EXEC MOVE SQLCODE TO SQL-COD COMPUTE errcnt = errcnt + 1 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 ist noch experimentell.