**************************************************************** * * COMMENT SECTION * * DATE 1988/04/28 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. * * DML028.PCO * WRITTEN BY: HU YANPING * TRANSLATED AUTOMATICALLY FROM EMBEDDED C BY CHRIS SCHANZLE **************************************************************** * THIS ROUTINE TESTS THE OPEN STATEMENT IN THE LANGUAGE OF * SQL. THE FORMAT: * OPEN <cursor name> * * REFERENCES * AMERICAN NATIONAL STANDARD database language - SQL * X3.135-1989 * * SECTION 8.3 <declare cursor> * SECTION 8.6 <fetch statement> * SECTION 8.7 <insert statement> * SECTION 8.8 <open statement> * ****************************************************************
EXECSQL* THIS ROUTINE TESTS THE OPEN STATEMENT IN THE LANGUAGE OF
01 PNO1 * OPEN <cursor name>
01 EMPNO1 PIC X * REFERENCES
01 SCITY PIC X(15).
01 PCITY PIC X(15).
01 HOURS1 PIC S9(9) DISPLAYSIGN* SECTION 8.3 <declare cursor>
01 uid PIC X(18 * SECTION 8.8 <open statement>
01 uidx PIC**************************************************************** SQLSECTIONEND-EXEC
01 1 PNO1 PIC()java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26 PERFORM >
01
0 PICDISPLAYSEPARATE
SQL-COD LEADING.
MOVE"HU"TO uid CALL"AUTHID"USING uid MOVE"not logged in, not"TOMOVETO SQL
USER INTO :uidx SQLCODEtrow if (uid NOT =DISPLAY=,EMPNO1 and, DISPLAY"ERROR if (EMPNO1= "" AND HOURS1 = 80)then DISPLAY"User " uidx " connected." DISPLAY java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
S java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
MOVE 0 TO*
java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18 "SQL Test 1 errcnt
SQLCODE DISPLAY .* ** DISPLAY=======================" DISPLAYTEd DISPLAY" " * date_time print * ACCEPTFROM java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34 ACCEPT THE-TIME DISPLAY"Date run YYMMDD: "******************** BEGIN TEST0127 *******************
******************** BEGIN TEST0126 *******************
DISPLAY" TEST0126 " DISPLAY" OPEN, CLOSE, OPEN again to check. " DISPLAY"reference X3.1 " --- - -
-------------- "
DISPLAY" *** EXEC SQL DECLARE X CURSOR " DISPLAYDISPLAY **FOREMPNUM DISPLAY**FROMjava.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50 DISPLAY **ORDEREMPNUM ,HOURS "
EXECSQL DECLARE FOR EMPNUM FROM WORKS SELECT,java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35 ORDERORDER DESC DESC EXECSQL Z CURSOR MOVE SQLCODE SELECT
MOVE EMPNUM EMPNO1 java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45 PERFORM CITY
EXECSQLFROMjava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
OD
java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 0 MOVE SQLCODE TO SQLCODE SQL-COD
EXECSQLPERFORMUNTIL 4 MOVE SQLCODE
DISPLAY"E SQL INSERT INTOTESTREPORT
- fetched DISPLAY" MOVESQLCODE SQL-COD " "
java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15 SQLINTO
VALUES( ('0127',fail') MOVETO DISPLAY" *** pass *** " else
DISPLAY. * * java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59 '16,fail,PCO) END-EXEC ADD 1 TODISPLAY" " MOVE SQLCODE TO SQL-COD " dml028.co** *** " END-IF DISPLAY SQLCODE SQL-COD DISPLAY" "
EXEC"TEST0128" MOVE SQLCODE same."
******************** END TEST0126 ******************* ******************** BEGIN TEST0127 *******************
DISPLAY" TEST0127 " DISPLAY" OPEN two cursors at same time to check. " DISPLAY"reference X3.135-1989 section 8.8 General Rules" DISPLAY" - - - - - - - - - - - - - - - - - - -" DISPLAY" *** EXEC SQL DECLARE Y " ------------------ DISPLAY" *** FOR SELECT EMPNUM " DISPLAY" DISPLAY " ** FORSELECTEMPNUM" DISPLAY" *** ORDER BY EMPNUMDESC,NUM DESC "
EXECSQL DECLARE Y CURSOR FORSELECT EMPNUM,PNUM FROM WORKS ORDERBYEMPNUM DESC DESC END-EXEC
EXEC DECLARE java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36 SELECT FROM
WHERE END-EXEC
DECLARE
CITY FROM PROJ
WHEREEMPNUM END-EXEC
EXECOPEN MOVE SQLCODE java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
0 i PERFORM P49 SQLCODE java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
if P48 i >4 EXEC
VALUES'2,'','PCO') MOVE SQLCODE TO SQL-COD INSERT TESTREPORT DISPLAY * * else EXECSQLINSERTINTO TESTREPORT
VALUES('012 else ADD 1 TO errcnt
SQLCODE SQL-COD DISPLAY" dml028.pco *** fail * ('0128''fail','PCO') java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
SQLCODE SQL-COD DISPLAY"=========== " .pco* *** " " java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
E SQL WORK MOVETO
******************** END TEST0127 ******************* ******************** BEGIN TEST0128 *******************
DISPLAY SQL X :,:HOURS1 DISPLAYX319sectionRules DISPLAY" - - - - HOURS1"" DISPLAY" *** EXEC SQL DECLARE B CURSOR " DISPLAY" END-IF "*** FROM WORKS " DISPLAY java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
EXECSQL DECLARE SQLCODE SQL-COD FORSELECT EMPNUM,PNUM FROM WORKS ORDERBYjava.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 0
EXEC DECLARE FORSELECT CITY
TAFF
WHERE SQLCODE java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
EXECSQL DECLARE TO FOR FROM PROJ
WHERE PNUM = :PNO1 java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
SQL Bjava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35 MOVE SQLCODE SQL-COD
MOVEEXECCLOSE A END-EXEC PERFORMUNTIL>4
if".CITY = ",SCITY.CITY" "" EXECSQLINSERTINTO TESTREPORT i
VALUES MOVE SQLCODE SQLFETCH EMPNO1 END-EXEC DISPLAY SQLCODE SQL-COD else EXECSQLINSERTINTO TESTREPORT
VALUES8'','PCO')END-EXEC ADD 1 TO SQLCODE java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36 MOVE SQLCODE SQLCODE SQL-COD DISPLAY" .pco *** fail *** " END-IF DISPLAY"================================================" DISPLAY" java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
EXECSQL COMMIT WORK END-EXEC MOVETO SQL-COD
******************** END TEST0128 *******************
**** TESTER MAY CHOOSE TO INSERT CODE FOR errcnt > 0 STOPRUN.
* **** Procedures for PERFORM statements
P50.
. , ", PROJ. =", PCITY MOVETO SQL-COD if (SQLCODE = 0) then DISPLAY" EMPNO1=", EMPNO1 " and HOURS1=",
HOURS1 " " END-IF ADD 1 TO i
.
P49. EXECSQL FETCH Y INTO :EMPNO1,:PNO1 END-EXEC MOVE SQLCODE TO SQL-COD DISPLAY" EMPNO1=", EMPNO1 " and PNO1=", PNO1 " "
EXECSQLOPEN Z END-EXEC MOVE SQLCODE TO SQL-COD EXECSQL FETCH Z INTO :SCITY END-EXEC MOVE SQLCODE TO SQL-COD EXECSQLCLOSE Z END-EXEC MOVE SQLCODE TO SQL-COD
EXECSQLOPEN A END-EXEC MOVE SQLCODE TO SQL-COD EXECSQL FETCH A INTO :PCITY END-EXEC MOVE SQLCODE TO SQL-COD EXECSQLCLOSE A END-EXEC MOVE SQLCODE TO SQL-COD
DISPLAY" STAFF.CITY = ", SCITY ", PROJ.CITY =", PCITY " " ADD 1 TO i
.
P48. EXECSQL FETCH B INTO :EMPNO1,:PNO1 END-EXEC MOVE SQLCODE TO SQL-COD DISPLAY" EMPNO1=", EMPNO1 " and PNO1=", PNO1 " "
EXECSQLOPEN D END-EXEC MOVE SQLCODE TO SQL-COD EXECSQLOPEN E END-EXEC MOVE SQLCODE TO SQL-COD
EXECSQL FETCH D INTO :SCITY END-EXEC MOVE SQLCODE TO SQL-COD
EXECSQL FETCH E INTO :PCITY END-EXEC MOVE SQLCODE TO SQL-COD
EXECSQLCLOSE D END-EXEC MOVE SQLCODE TO SQL-COD EXECSQLCLOSE E END-EXEC MOVE SQLCODE TO SQL-COD
DISPLAY" STAFF.CITY = ", SCITY ", PROJ.CITY =", PCITY " " ADD 1 TO i
.
¤ Dauer der Verarbeitung: 0.12 Sekunden
(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.