* Standard COBOL (file "SDL035.SCO") calling SQL * procedures in file "SDL035.MCO". * STANDARD COBOL (file "SDL035.SCO")
**************************************************************** * * COMMENT SECTION * * DATE 1992/06/22 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. * * SDL035.SCO * WRITTEN BY: DAVID W. FLATER * * THIS ROUTINE TESTS THE SCHEMA DEFINITION LANGUAGE FOR SQL. * * REFERENCES * ANSI SQL-1992 * 11.36 <grant statement> * ****************************************************************
MOVE"x"TO ct20 DISPLAY"SELECT CHARTEST INTO :ct20 FROM CUGINI.VAA;" * EXEC SQL SELECT CHARTEST * INTO :ct20 FROM CUGINI.VAA; CALL"SUB2"USING SQLCODE ct20 MOVE SQLCODE TO SQL-COD MOVE SQLCODE TO ii DISPLAY"SQLCODE should be 0; its value is ", SQL-COD DISPLAY"ct20 should be 'Twenty Characters...'; its value
- " is ", ct20
if (ii NOT = 0 OR ct20 NOT = "Twenty Characters...") then MOVE 0 TO flag END-IF
DISPLAY"INSERT INTO CUGINI.VAA VALUES ('This should not
- " work');" * EXEC SQL INSERT INTO CUGINI.VAA * VALUES ('This should not work'); CALL"SUB3"USING SQLCODE 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.VAA;" COMPUTE tmpcnt = -1 * EXEC SQL SELECT COUNT(*) INTO :tmpcnt * FROM CUGINI.VAA; CALL"SUB4"USING SQLCODE tmpcnt 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.VAA" DISPLAY" SET CHARTEST = 'This should not work';" * EXEC SQL UPDATE CUGINI.VAA * SET CHARTEST = 'This should not work'; CALL"SUB5"USING SQLCODE 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.VAA WHERE" DISPLAY"CHARTEST <> 'Twenty Characters...';" COMPUTE tmpcnt = -1 * EXEC SQL SELECT COUNT(*) INTO :tmpcnt * FROM CUGINI.VAA WHERE CHARTEST * <> 'Twenty Characters...'; CALL"SUB6"USING SQLCODE tmpcnt 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.VAA;" * EXEC SQL DELETE FROM CUGINI.VAA; CALL"SUB7"USING SQLCODE 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.VAA;" COMPUTE tmpcnt = -1 * EXEC SQL SELECT COUNT(*) INTO :tmpcnt * FROM CUGINI.VAA; CALL"SUB8"USING SQLCODE tmpcnt 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"INSERT INTO CUGINI.VBB VALUES ('A');" * EXEC SQL INSERT INTO CUGINI.VBB * VALUES ('A'); CALL"SUB13"USING SQLCODE 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"x"TO ct1 DISPLAY"SELECT CHARTEST INTO :ct1 FROM CUGINI.VBB;" * EXEC SQL SELECT CHARTEST INTO :ct1 FROM CUGINI.VBB; CALL"SUB14"USING SQLCODE ct1 MOVE SQLCODE TO SQL-COD MOVE SQLCODE TO ii DISPLAY"SQLCODE should be < 0; its value is ", ii DISPLAY"ct1 should NOT be A; its value is ", ct1
if (ii NOT < 0 OR ct1 = "A") then MOVE 0 TO flag END-IF
DISPLAY"UPDATE CUGINI.VBB SET CHARTEST = 'B';" * EXEC SQL UPDATE CUGINI.VBB * SET CHARTEST = 'B'; CALL"SUB15"USING SQLCODE 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.VBB;" * EXEC SQL DELETE FROM CUGINI.VBB; CALL"SUB16"USING SQLCODE MOVE SQLCODE TO SQL-COD MOVE SQLCODE TO ii DISPLAY"SQLCODE should be < 0; its value is ", ii
DISPLAY"UPDATE CUGINI.VCC" DISPLAY" SET CHARTEST = 'This --should-- work';" * EXEC SQL UPDATE CUGINI.VCC * SET CHARTEST = 'This --should-- work'; CALL"SUB21"USING SQLCODE 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 CHARTEST INTO :ct20 FROM CUGINI.VCC;" MOVE"x"TO ct20 * EXEC SQL SELECT CHARTEST * INTO :ct20 FROM CUGINI.VCC; CALL"SUB22"USING SQLCODE ct20 MOVE SQLCODE TO SQL-COD MOVE SQLCODE TO ii DISPLAY"SQLCODE should be < 0; its value is ", ii DISPLAY "ct20 should NOT be 'This --should-- work';its value is ",
ct20
if (ii NOT < 0 OR ct20 = "This --should-- work") then MOVE 0 TO flag END-IF
DISPLAY"INSERT INTO CUGINI.VCC VALUES ('This should not
- " work');" * EXEC SQL INSERT INTO CUGINI.VCC * VALUES ('This should not work'); CALL"SUB23"USING SQLCODE 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.VCC;" * EXEC SQL DELETE FROM CUGINI.VCC; CALL"SUB24"USING SQLCODE MOVE SQLCODE TO SQL-COD MOVE SQLCODE TO ii DISPLAY"SQLCODE should be < 0; its value is ", ii
DISPLAY"DELETE FROM CUGINI.VDD;" * EXEC SQL DELETE FROM CUGINI.VDD; CALL"SUB29"USING SQLCODE 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.VDD VALUES ('A');" * EXEC SQL INSERT INTO CUGINI.VDD * VALUES ('A'); CALL"SUB30"USING SQLCODE 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 CHARTEST INTO :ct1 FROM CUGINI.VDD;" MOVE"x"TO ct1 * EXEC SQL SELECT CHARTEST INTO :ct1 FROM CUGINI.VDD; CALL"SUB31"USING SQLCODE ct1 MOVE SQLCODE TO SQL-COD MOVE SQLCODE TO ii DISPLAY"SQLCODE should be < 0; its value is ", ii DISPLAY"ct1 should NOT be 'a' or 'A'; its value is ", ct1
if (ii NOT < 0 OR ct1 = "a") then MOVE 0 TO flag END-IF if (ct1 = "A") then MOVE 0 TO flag END-IF
DISPLAY"UPDATE CUGINI.VDD SET CHARTEST = 'B';" * EXEC SQL UPDATE CUGINI.VDD * SET CHARTEST = 'B'; CALL"SUB32"USING SQLCODE MOVE SQLCODE TO SQL-COD MOVE SQLCODE TO ii DISPLAY"SQLCODE should be < 0; its value is ", ii
* EXEC SQL COMMIT WORK; CALL"SUB36"USING SQLCODE MOVE SQLCODE TO SQL-COD ******************** END TEST0480 ********************
**** TESTER MAY CHOOSE TO INSERT CODE FOR errcnt > 0 STOPRUN.
* **** Procedures for PERFORM statements
¤ 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.0.3Bemerkung:
(vorverarbeitet)
¤
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.