* Standard COBOL (file "COB008.SCO") calling SQL * procedures in file "COB008.MCO"
*************************************************************** * * COMMENT SECTION * * DATE 1989/01/16 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. * * COB008.SCO * WRITTEN BY: S Hurwitz * TRANSLATED AUTOMATICALLY FROM EMBEDDED COBOL BY CHRIS SCHANZLE * * THIS ROUTINE TESTS COBOL DATA TYPES IN SQL LANGUAGE. * * REFERENCES * AMERICAN NATIONAL STANDARD database language - SQL * X3.135-1989 * * SECTION 5.5 <data type> * ANNEX C. <embedded SQL COBOL program> * * ***************************************************************
* EXEC SQL DELETE FROM SV; CALL"SUB1"USING SQLCODE * EXEC SQL INSERT INTO SV * VALUES(12345.678) END-EXEC CALL"SUB2"USING SQLCODE
MOVE SQLCODE TO SQL-COD DISPLAY"After INSERT SQLCODE = ", SQL-COD
DISPLAY" " MOVE 0 TO var1 * EXEC SQL SELECT * * INTO :var1 * FROM SV END-EXEC CALL"SUB3"USING SQLCODE var1 MOVE SQLCODE TO SQL-COD DISPLAY"After SELECT into var1 the SQLCODE = ", SQL-COD DISPLAY"*** to check exact numeric type S9(5)V99 ***" DISPLAY "*** var1 answer should be either 12345.67 or 12345.68 ***" MOVE var1 TO ed-var1 DISPLAY" var1 = ", ed-var1 if (var1 = 12345.67 or var1 = 12345.68) ADD 1 TO cnt END-IF
DISPLAY" " MOVE 0 TO var3 * EXEC SQL SELECT * * INTO :var3 * FROM SV END-EXEC CALL"SUB4"USING SQLCODE var3 MOVE SQLCODE TO SQL-COD DISPLAY"After SELECT into var3 the SQLCODE = ", SQL-COD DISPLAY"*** to check exact numeric type S99999V ***" DISPLAY "*** var3 answer should be either 12345 or 12346 ***" MOVE var3 TO ed-var3 DISPLAY" var3 = ", ed-var3 if ((var3 = 12345) or (var3 = 12346)) ADD 1 TO cnt END-IF
DISPLAY" " MOVE 0 TO var4 * EXEC SQL SELECT * * INTO :var4 * FROM SV END-EXEC CALL"SUB5"USING SQLCODE var4 MOVE SQLCODE TO SQL-COD DISPLAY"After SELECT into var4 the SQLCODE = ", SQL-COD DISPLAY"*** to check exact numeric type S9(6)V9(3) ***" DISPLAY"*** var4 answer should be 12345.678 ***" MOVE var4 TO ed-var4 DISPLAY" var4 = ", ed-var4 if (var4 = 12345.678) ADD 1 TO cnt END-IF
DISPLAY" " MOVE 0 TO var5 * EXEC SQL SELECT * * INTO :var5 * FROM SV END-EXEC CALL"SUB6"USING SQLCODE var5 MOVE SQLCODE TO SQL-COD DISPLAY"After SELECT into var5 the SQLCODE = ", SQL-COD DISPLAY"*** to check exact numeric type S9(5)V9(3) ***" DISPLAY"*** var5 answer should be 12345.678 ***" MOVE var5 TO ed-var5 DISPLAY" var5 = ", ed-var5 if (var5 = 12345.678) ADD 1 TO cnt END-IF
* EXEC SQL DELETE FROM SV; CALL"SUB1"USING SQLCODE * EXEC SQL INSERT INTO SV * VALUES(12345.678) END-EXEC CALL"SUB2"USING SQLCODE
MOVE SQLCODE TO SQL-COD DISPLAY"After INSERT SQLCODE = ", SQL-COD
MOVE 0 TO cnt
DISPLAY" " MOVE 0 TO var2 * EXEC SQL SELECT * * INTO :var2 * FROM SV END-EXEC CALL"SUB10"USING SQLCODE var2 MOVE SQLCODE TO SQL-COD DISPLAY"After SELECT into var2, the SQLCODE = ", SQL-COD DISPLAY "*** checks SELECT into exact numeric type S99V ***" DISPLAY "*** from type S9(5)V9(3) ***" DISPLAY "The answer should be a NEGATIVE SQLCODE- - -EXCEPTION!! " MOVE var2 TO ed-var2 DISPLAY" var2 = ", ed-var2 if (SQLCODE < 0 ) ADD 1 TO cnt END-IF
DISPLAY" " MOVE 0 TO var6 * EXEC SQL SELECT * * INTO :var6 * FROM SV END-EXEC CALL"SUB11"USING SQLCODE var6 MOVE SQLCODE TO SQL-COD DISPLAY"After SELECT into var6, the SQLCODE = ", SQL-COD DISPLAY "*** checks SELECT into exact numeric type SV99 ***" DISPLAY "*** from type S9(5)V9(3) ***" DISPLAY "The answer should be a NEGATIVE SQLCODE- - -EXCEPTION!! " MOVE var6 TO ed-var6 DISPLAY" var6 = ", ed-var6 if (SQLCODE < 0 ) ADD 1 TO cnt 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.