* Standard COBOL (file "CDR024.SCO") calling SQL * procedures in file "CDR024.MCO".
**************************************************************** * * COMMENT SECTION * * DATE 1989/04/07 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. * * CDR024.SCO * WRITTEN BY: SUN DAJUN * * THIS ROUTINE TESTS THE <DEFAULT CLAUSE> IN COLUMN DEFINI- * TION. * * REFERENCES * AMERICAN NATIONAL STANDARD database language - SQL * with Integrity Enhancement * * SECTION 6.3 * <column definition>::= * <column name><data type> * (<default clause>) * (<column constrait>...) * SECTION 6.4 * <default clause>::= * DEFAULT {<literal>|USER|NULL} * ****************************************************************
MOVE"SUN"TO uid CALL"AUTHID"USING uid MOVE"not logged in, not"TO uidx CALL"AUTHCK"USINGSQLCODE uidx MOVESQLCODETO SQL-COD 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, Module COBOL, cdr024.sco" 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 TEST0385 ******************* *This program tests if character string default *values of columns can be properly set.
DISPLAY" TEST0385 " DISPLAY" Char. column default value " DISPLAY" SQL with Integrity Enhancement section
- " 6.3,6.4" DISPLAY" - - - - - - - - - - - - - - - - - - - - - " DISPLAY" DELETE FROM CHAR_DEFAULT;" DISPLAY" " DISPLAY" INSERT INTO CHAR_DEFAULT(SEX_CODE)" DISPLAY" VALUES ('M');" DISPLAY" " DISPLAY" " DISPLAY" SELECT NICKNAME, INSURANCE1 INTO :NICK1,
- " :INSUR1 " DISPLAY" FROM CHAR_DEFAULT" DISPLAY" WHERE SEX_CODE = 'M';" DISPLAY" " DISPLAY" INSERT INTO CHAR_DEFAULT(NICKNAME,
- " INSURANCE1)" DISPLAY" VALUES ('Piggy', 'Kaise');" DISPLAY" " DISPLAY" " DISPLAY" SELECT SEX_CODE INTO :SEX1 " DISPLAY" FROM CHAR_DEFAULT" DISPLAY" WHERE INSURANCE1 = 'Kaise';"
* EXEC SQL SELECT COUNT(*) INTO :CNT * FROM APPROX_DEF * WHERE (Y_COUNT BETWEEN -9.991E10 AND -9.989E10) AND * (Z_COUNT BETWEEN 3.44E-11 AND 3.46E-11) AND * (ZZ_COUNT BETWEEN -7.6778E-7 AND -7.6776E-7) OR * (X_COUNT BETWEEN 1.77E12 AND 1.79E12) END-EXEC CALL"SUB21"USINGSQLCODE CNT MOVESQLCODETO SQL-COD
DISPLAY"The correct result is :" DISPLAY" CNT = 2" DISPLAY"Your answer is :" DISPLAY" CNT = ", CNT
if (CNT = 2) then * EXEC SQL INSERT INTO TESTREPORT * VALUES('0387','pass','MCO') END-EXEC CALL"SUB22"USINGSQLCODE MOVESQLCODETO SQL-COD DISPLAY" *** pass *** " else * EXEC SQL INSERT INTO TESTREPORT * VALUES('0387','fail','MCO') END-EXEC ADD 1 TO errcnt CALL"SUB23"USINGSQLCODE MOVESQLCODETO SQL-COD DISPLAY" cdr024.sco *** fail *** " END-IF DISPLAY"================================================"
DISPLAY" " * EXEC SQL COMMIT WORK END-EXEC CALL"SUB24"USINGSQLCODE MOVESQLCODETO SQL-COD ****************** END TEST0387 *********************
******************** BEGIN TEST0388 ******************* *This program tests if the FIPS sizing default values *of columns can be properly set. * * !!!!!!!!!! SEE COBOL TEST0206 FOR REFERENCE !!!!!!!! *
DISPLAY" TEST0388 " DISPLAY" Default value sizing test" DISPLAY" SQL with Integrity Enhancement section
- " 6.3,6.4" DISPLAY" - - - - - - - - - - - - - - - - - - - - - " DISPLAY" " DISPLAY" DELETE FROM SIZE_TAB;" DISPLAY" " DISPLAY" INSERT INTO SIZE_TAB(COL1) VALUES(" DISPLAY"
- " 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnop" DISPLAY" qrstuvwxyz0123456789012');" DISPLAY" " DISPLAY" INSERT INTO SIZE_TAB(COL2, COL3, COL4)" DISPLAY" VALUES (-999888777, 987654321.123456,
- " -1.45E22);" DISPLAY" " DISPLAY" INSERT INTO SIZE_TAB" DISPLAY" VALUES('ABCDEFG', 7,7,-1.49E22);" DISPLAY" " DISPLAY" DECLARE MOON CURSOR FOR " DISPLAY" SELECT COUNT(*) FROM SIZE_TAB" DISPLAY" WHERE COL4 BETWEEN -1.46E22 AND
- " -1.048575E22" DISPLAY" GROUP BY COL1, COL2, COL3;" DISPLAY" " MOVE 0 TO CNT * EXEC SQL DELETE FROM SIZE_TAB END-EXEC CALL"SUB25"USINGSQLCODE * EXEC SQL INSERT INTO SIZE_TAB(COL1) * VALUES ('ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghi * - "jklmnopqrstuvwxyz0123456789012') END-EXEC CALL"SUB26"USINGSQLCODE
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 und die Messung sind noch experimentell.