* Standard COBOL (file "SDL029.SCO") calling SQL * procedures in file "SDL029.MCO". * STANDARD COBOL (file "SDL029.SCO")
**************************************************************** * * COMMENT SECTION * * DATE 1992/06/05 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. * * SDL029.SCO * WRITTEN BY: DAVID W. FLATER * * THIS ROUTINE TESTS THE SCHEMA DEFINITION LANGUAGE FOR SQL. * * REFERENCES * ANSI SQL-1989, ANSI SQL-1992 * 11.36 <grant statement> * ****************************************************************
MOVE"x"TO ct20 DISPLAY"SELECT CHARTEST INTO :ct20 FROM CUGINI.AA;" * EXEC SQL SELECT CHARTEST * INTO :ct20 FROM CUGINI.AA; 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.AA VALUES ('This should not
- " work');" * EXEC SQL INSERT INTO CUGINI.AA * 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.AA;" COMPUTE tmpcnt = -1 * EXEC SQL SELECT COUNT(*) INTO :tmpcnt * FROM CUGINI.AA; 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.AA" DISPLAY" SET CHARTEST = 'This should not work';" * EXEC SQL UPDATE CUGINI.AA * 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.AA WHERE" DISPLAY"CHARTEST <> 'Twenty Characters...';" COMPUTE tmpcnt = -1 * EXEC SQL SELECT COUNT(*) INTO :tmpcnt * FROM CUGINI.AA 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.AA;" * EXEC SQL DELETE FROM CUGINI.AA; 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.AA;" COMPUTE tmpcnt = -1 * EXEC SQL SELECT COUNT(*) INTO :tmpcnt * FROM CUGINI.AA; 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.BB VALUES ('A');" * EXEC SQL INSERT INTO CUGINI.BB * 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.BB;" * EXEC SQL SELECT CHARTEST INTO :ct1 FROM CUGINI.BB; 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.BB SET CHARTEST = 'B';" * EXEC SQL UPDATE CUGINI.BB * 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.BB;" * EXEC SQL DELETE FROM CUGINI.BB; 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.CC" DISPLAY" SET CHARTEST = 'This --should-- work';" * EXEC SQL UPDATE CUGINI.CC * 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.CC;" MOVE"x"TO ct20 * EXEC SQL SELECT CHARTEST * INTO :ct20 FROM CUGINI.CC; 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.CC VALUES ('This should not
- " work');" * EXEC SQL INSERT INTO CUGINI.CC * 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.CC;" * EXEC SQL DELETE FROM CUGINI.CC; 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.DD;" * EXEC SQL DELETE FROM CUGINI.DD; 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.DD VALUES ('A');" * EXEC SQL INSERT INTO CUGINI.DD * 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.DD;" MOVE"x"TO ct1 * EXEC SQL SELECT CHARTEST INTO :ct1 FROM CUGINI.DD; 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.DD SET CHARTEST = 'B';" * EXEC SQL UPDATE CUGINI.DD * 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
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.