* Standard COBOL (file "DML077.SCO") calling SQL * procedures in file "DML077.MCO".
* STANDARD COBOL (file "DML077.SCO")
**************************************************************** * * COMMENT SECTION * * DATE 1991/07/30 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. * * DML077.SCO * WRITTEN BY: YOLANDA HERD * * * REFERENCES * AMERICAN NATIONAL STANDARD database language * X3.135-1989 * * ****************************************************************
* EXEC SQL INSERT INTO TEMP_SS VALUES('E7',NULL,'Frankfurt') * ; CALL"SUB2"USING SQLCODE MOVE SQLCODE TO SQL-COD DISPLAY"SQLCODE after NULL literal INSERT = ", SQL-COD
MOVE 15 TO GRDE COMPUTE indic1 = -1
* EXEC SQL INSERT INTO TEMP_SS * VALUES('E8',:GRDE:indic1,'Atlanta'); CALL"SUB3"USING SQLCODE GRDE indic1 MOVE SQLCODE TO SQL-COD DISPLAY"SQLCODE after NULL with indic INSERT = ", SQL-COD
* EXEC SQL INSERT INTO TEMP_SS(EMPNUM) VALUES('E9'); CALL"SUB4"USING SQLCODE MOVE SQLCODE TO SQL-COD DISPLAY"SQLCODE after NULL INSERT by excluding column = ",
SQL-COD
* EXEC SQL UPDATE WORKS * SET HOURS = NULL * WHERE PNUM = 'P2'; CALL"SUB5"USING SQLCODE MOVE SQLCODE TO SQL-COD DISPLAY"SQLCODE after UPDATE WORKS 'P2' = ", SQL-COD
* EXEC SQL INSERT INTO TEMP_SS * SELECT PNUM,HOURS,'Nowhere' * FROM WORKS * WHERE EMPNUM = 'E1'; CALL"SUB6"USING SQLCODE MOVE SQLCODE TO SQL-COD DISPLAY"SQLCODE after INSERT SELECT 'E1' = ", SQL-COD
* EXEC SQL UPDATE TEMP_SS * SET GRADE = NULL * WHERE EMPNUM = 'E3'; CALL"SUB7"USING SQLCODE MOVE SQLCODE TO SQL-COD DISPLAY"SQLCODE after UPDATE TEMP_SS 'E3' = ", SQL-COD
* EXEC SQL UPDATE TEMP_SS * SET GRADE = :GRDE:indic1 * WHERE EMPNUM = 'E5'; CALL"SUB8"USING SQLCODE GRDE indic1 MOVE SQLCODE TO SQL-COD DISPLAY"SQLCODE after UPDATE TEMP_SS with indic = ",
SQL-COD
******************** END TEST0444 *******************
******************** BEGIN TEST0445 ******************* DISPLAY" TEST0445 " DISPLAY" Values not assigned to targets for SQLCODE=100 " DISPLAY" reference X3.135-1989" DISPLAY"
- " ----------------------------------------------------"
MOVE 0 TO flag1 MOVE"ZZZ"TO PNO1
* EXEC SQL SELECT PNUM INTO :PNO1 * FROM WORKS * WHERE HOURS = 13; CALL"SUB25"USING SQLCODE PNO1 MOVE SQLCODE TO SQL-COD DISPLAY"PNO1 = ", PNO1 ", SQLCODE after SELECT PNUM = ",
SQL-COD DISPLAY" "
if (SQLCODE NOT = 100 OR PNO1 NOT = "ZZZ") then MOVE 1 TO flag1 END-IF
MOVE 99 TO HRS
* EXEC SQL SELECT HOURS INTO :HRS * FROM WORKS * WHERE EMPNUM = 'E4' AND PNUM = 'P1'; CALL"SUB26"USING SQLCODE HRS MOVE SQLCODE TO SQL-COD DISPLAY"HRS = ", HRS ", SQLCODE after SELECT HOURS = ",
SQL-COD DISPLAY" "
if (SQLCODE NOT = 100 OR HRS NOT = 99) then MOVE 1 TO flag1 END-IF
MOVE 999 TO NUM
* EXEC SQL SELECT COL1 INTO :NUM * FROM VTABLE * WHERE COL2 > 500; CALL"SUB27"USING SQLCODE NUM MOVE SQLCODE TO SQL-COD DISPLAY"NUM = ", NUM ", SQLCODE after SELECT COL1 = ",
SQL-COD
if (SQLCODE NOT = 100 OR NUM NOT = 999) then MOVE 1 TO flag1 END-IF
* EXEC SQL DECLARE XX CURSOR FOR * SELECT PNUM,HOURS * FROM WORKS * WHERE EMPNUM > 'E1' END-EXEC
* EXEC SQL DECLARE YY CURSOR FOR * SELECT COL2, COL3 * FROM VTABLE END-EXEC
MOVE 0 TO count1 MOVE 0 TO count2
MOVE"YY"TO PNO1 MOVE 99 TO HRS MOVE 99 TO INT1 MOVE 99 TO INT2
* EXEC SQL OPEN XX; CALL"SUB28"USING SQLCODE MOVE SQLCODE TO SQL-COD
MOVE 1 TO i PERFORM P48 UNTIL i > 14
* EXEC SQL CLOSE XX; CALL"SUB29"USING SQLCODE MOVE SQLCODE TO SQL-COD
* EXEC SQL OPEN YY; CALL"SUB30"USING SQLCODE MOVE SQLCODE TO SQL-COD
MOVE 1 TO i PERFORM P47 UNTIL i > 9
* EXEC SQL CLOSE YY; CALL"SUB31"USING SQLCODE MOVE SQLCODE TO SQL-COD
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.