* Embedded SQL COBOL ("CDR024.PCO") translated from * Embedded C on Wed Jan 16 10:18:33 1991.
**************************************************************** * * COMMENT SECTION * * DATE 1989/04/07 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. * * CDR024.PCO * 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 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, cdr024.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 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';"
EXECSQLSELECTCOUNT(*) INTO :CNT FROM EXACT_DEF
WHERE BODY_TEMP = 99.0 AND
MAX_NUM = -55555 AND MIN_NUM = .000001 OR BODY_TEMP = 98.6 AND MAX_NUM = 100 AND MIN_NUM = .2 END-EXEC MOVE SQLCODE TO SQL-COD
DISPLAY"The correct result is :" DISPLAY" CNT = 2" DISPLAY"Your answer is :" DISPLAY" CNT = ", CNT
if (CNT = 2) then EXECSQLINSERTINTO TESTREPORT
VALUES('0386','pass','PCO') END-EXEC MOVE SQLCODE TO SQL-COD DISPLAY" *** pass *** " else EXECSQLINSERTINTO TESTREPORT
VALUES('0386','fail','PCO') END-EXEC ADD 1 TO errcnt MOVE SQLCODE TO SQL-COD DISPLAY" cdr024.pco *** fail *** " END-IF DISPLAY"================================================"
DISPLAY" " EXECSQL COMMIT WORK END-EXEC MOVE SQLCODE TO SQL-COD ********************* END TEST0386 *******************
******************** BEGIN TEST0387 ******************* *This program tests if approximate numeric default *values of columns can be properly set.
EXECSQLSELECTCOUNT(*) 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 MOVE SQLCODE TO SQL-COD
DISPLAY"The correct result is :" DISPLAY" CNT = 2" DISPLAY"Your answer is :" DISPLAY" CNT = ", CNT
if (CNT = 2) then EXECSQLINSERTINTO TESTREPORT
VALUES('0387','pass','PCO') END-EXEC MOVE SQLCODE TO SQL-COD DISPLAY" *** pass *** " else EXECSQLINSERTINTO TESTREPORT
VALUES('0387','fail','PCO') END-EXEC ADD 1 TO errcnt MOVE SQLCODE TO SQL-COD DISPLAY" cdr024.pco *** fail *** " END-IF DISPLAY"================================================"
DISPLAY" " EXECSQL COMMIT WORK END-EXEC MOVE SQLCODE TO 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 EXECSQLDELETEFROM SIZE_TAB END-EXEC EXECSQLINSERTINTO SIZE_TAB(COL1)
VALUES ('ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghi
- 'jklmnopqrstuvwxyz0123456789012') END-EXEC
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.