**************************************************************** * * COMMENT SECTION * * DATE 1989/11/08 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. * * FLG009.PCO * WRITTEN BY: JOAN SULLIVAN * * THIS ROUTINE TESTS AN EXTENSION TO SQL. * * REFERENCES * FEDERAL INFORMATION PROCESSING STANDARDS - SQL * FIPS PUB 127 * * 10. Specifications. * ****************************************************************
*begin different char column length EXECSQL DECLARE C1 CURSOR FOR SELECT EMPNUM, CITY FROM STAFF
UNION SELECT PTYPE, CITY FROM PROJ END-EXEC EXECSQLOPEN C1 END-EXEC MOVE SQLCODE TO SQL-COD MOVE 0 TO i PERFORM P50 UNTIL i > 19 *end different char column length if (cnt1 > 0) then DISPLAY"SUPPORTED: Union of CHAR columns with different
- " lengths" END-IF
*begin CHAR col and shorter literal EXECSQL DECLARE C2 CURSOR FOR SELECT EMPNUM, CITY FROM STAFF
UNION SELECT'e1', CITY FROM PROJ END-EXEC EXECSQLOPEN C2 END-EXEC MOVE SQLCODE TO SQL-COD MOVE 0 TO i PERFORM P49 UNTIL i > 19 *end CHAR col and shorter literal if (cnt2 > 0) then DISPLAY"SUPPORTED: Union of CHAR col with shorter
- " literal" END-IF
*begin different decimal column precision EXECSQL DECLARE C3 CURSOR FOR SELECT EMPNUM, GRADE FROM STAFF
UNION SELECT EMPNUM, HOURS FROM WORKS END-EXEC EXECSQLOPEN C3 END-EXEC MOVE SQLCODE TO SQL-COD MOVE 0 TO i PERFORM P48 UNTIL i > 19 *end different decimal column precision if (cnt3 > 0) then DISPLAY"SUPPORTED: Union of DECIMAL columns with
- " different precision" END-IF
if (cnt1 > 0 OR cnt2 > 0 OR cnt3 > 0) then EXECSQLINSERTINTO TESTREPORT
VALUES('0455','pass','PCO') END-EXEC MOVE SQLCODE TO SQL-COD DISPLAY"SQL extension for relaxed union rules executed
- " successfully." DISPLAY"Vendor must demonstrate FIPS flagger WARNING." else EXECSQLINSERTINTO TESTREPORT VALUES
('0455','nogo','PCO') END-EXEC MOVE SQLCODE TO SQL-COD COMPUTE errcnt = errcnt + 1 DISPLAY"Vendor does not support relaxed union rules as
- " tested." DISPLAY"Support of relaxed union rules is not required." END-IF
EXECSQL COMMIT WORK END-EXEC MOVE SQLCODE TO SQL-COD
******************** END TEST0455 *******************
**** TESTER MAY CHOOSE TO INSERT CODE FOR errcnt > 0 STOPRUN.
* **** Procedures for PERFORM statements
P50. EXECSQL FETCH C1 INTO :CHAR3, :CHAR15 END-EXEC MOVE SQLCODE TO SQL-COD if (SQLCODE = 0) then COMPUTE cnt1 = cnt1 + 1 END-IF ADD 1 TO i
.
P49. EXECSQL FETCH C2 INTO :CHAR3, :CHAR15 END-EXEC MOVE SQLCODE TO SQL-COD if (SQLCODE = 0) then COMPUTE cnt2 = cnt2 + 1 END-IF ADD 1 TO i
.
P48. EXECSQL FETCH C3 INTO :CHAR3, :INT5 END-EXEC MOVE SQLCODE TO SQL-COD if (SQLCODE = 0) then COMPUTE cnt3 = cnt3 + 1 END-IF ADD 1 TO i
.
¤ 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.0.0Bemerkung:
(vorverarbeitet)
¤
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.