* Embedded SQL COBOL ("CDR026.PCO") translated from * Embedded C on Thu Jul 25 10:46:17 1991.
*EMBEDDED COBOL (file "CDR026.PCO")
************************************************************ * * COMMENT SECTION * * DATE 1991/06/20 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. * * CDR026.PCO * WRITTEN BY: YOLANDA HERD * * THIS ROUTINE TESTS PARTIAL NULL FOREIGN KEYS * * REFERENCES * AMERICAN NATIONAL STANDARD database language - SQL * X3.135-1989 * * SECTION 6.7, GR1 Referential Constraint Definition * * ************************************************************
MOVE"SUN"TO uid CALL"AUTHID"USING uid MOVE"not logged in, not"TO uidx EXECSQLSELECT
USER INTO :uidx FROM SUN.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, cdr026.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 TEST0438 ********************* * This program tests the Partial - NULL F.K. * feature supported for insert F.k.
MOVE -1001 TO code1 MOVE 0 TO count1 MOVE 0 TO DTE MOVE"XXXXXXXXXXXXXXXXXXXX"TO NME
EXECSQLDELETEFROM EXPERIENCE
WHERE DESCR = 'Car Mechanic'END-EXEC MOVE SQLCODE TO SQL-COD
EXECSQLINSERTINTO EXPERIENCE
VALUES('Tom',NULL,NULL,'Car Mechanic') END-EXEC MOVE SQLCODE TO SQL-COD
EXECSQLINSERTINTO EXPERIENCE
VALUES('Yolanda',NULL,NULL,'Car Mechanic') END-EXEC MOVE SQLCODE TO SQL-COD
EXECSQLINSERTINTO EXPERIENCE
VALUES(NULL,112156,NULL,'Car Mechanic') END-EXEC MOVE SQLCODE TO SQL-COD
EXECSQLINSERTINTO EXPERIENCE
VALUES(NULL,062068,NULL,'Car Mechanic') END-EXEC MOVE SQLCODE TO SQL-COD
EXECSQLINSERTINTO EXPERIENCE
VALUES(NULL,NULL,NULL,'Car Mechanic') END-EXEC MOVE SQLCODE TO SQL-COD
EXECSQLINSERTINTO EXPERIENCE
VALUES('Tom',052744,NULL,'Car Mechanic') END-EXEC MOVE SQLCODE TO SQL-COD
EXECSQLINSERTINTO EXPERIENCE
VALUES('Yolanda',040523,NULL,'Car Mechanic') END-EXEC MOVE SQLCODE TO SQL-COD
EXECSQLINSERTINTO EXPERIENCE
VALUES('Yolanda',062968,NULL,'Car Mechanic') END-EXEC MOVE SQLCODE TO SQL-COD
EXECSQLINSERTINTO EXPERIENCE
VALUES('Lilian',112156,NULL,'Car Mechanic') END-EXEC MOVE SQLCODE TO SQL-COD
EXECSQLSELECT EXP_NAME, BTH_DATE INTO :NME, :DTE FROM EXPERIENCE
WHERE EXP_NAME ISNOTNULLAND BTH_DATE ISNOTNULL AND DESCR = 'Car Mechanic'END-EXEC MOVE SQLCODE TO SQL-COD
MOVE SQLCODE TO code1
EXECSQLSELECTCOUNT(*) INTO :count1 FROM EXPERIENCE
WHERE DESCR = 'Car Mechanic'END-EXEC MOVE SQLCODE TO SQL-COD
EXECSQL ROLLBACK WORK END-EXEC MOVE SQLCODE TO SQL-COD
DISPLAY" The correct answers are:" DISPLAY" code1 = 0 and count1 = 6" DISPLAY" " DISPLAY" Your answers are:" DISPLAY" code1 = ", code1 " and count1 = ", count1
if (code1 = 0 AND count1 = 6) then EXECSQLINSERTINTO TESTREPORT
VALUES('0438','pass','PCO') END-EXEC MOVE SQLCODE TO SQL-COD DISPLAY" *** pass *** " else EXECSQLINSERTINTO TESTREPORT
VALUES('0438','fail','PCO') END-EXEC ADD 1 TO errcnt MOVE SQLCODE TO SQL-COD DISPLAY" cdr026.pco *** fail *** " 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.