**************************************************************** * * COMMENT SECTION * * DATE 1994/8/19 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. * * DML134.PCO * WRITTEN BY: David W. Flater * TRANSLATED AUTOMATICALLY FROM EMBEDDED C BY CHRIS SCHANZLE * * This program tests the Information Schema and tests multiple * Trans SQL features together. * * REFERENCES * FIPS PUB 127-2 14.1 Transitional SQL * ANSI SQL-1992 * ****************************************************************
MOVE"FLATER "TO uid CALL"AUTHID"USING uid MOVE"not logged in, not"TO uidx EXECSQLSELECT USER INTO :uidx FROM HU.ECCO END-EXEC MOVE SQLCODE TO SQL-COD EXECSQL ROLLBACK WORK END-EXEC MOVE SQLCODE TO SQL-COD if (uid NOT = uidx) then DISPLAY"ERROR: User ", uid " expected. User ", uidx "
- " connected" STOPRUN END-IF MOVE 0 TO errcnt
DISPLAY "SQL Test Suite, V6.0, Embedded COBOL, dml134.pco" DISPLAY "59-byte ID" DISPLAY"TEd Version #" *date_time print ACCEPT TO-DAY FROMDATE ACCEPT THE-TIME FROMTIME DISPLAY"Date run YYMMDD: " TO-DAY " at hhmmssff: " THE-TIME
******************** BEGIN TEST0688 ******************* MOVE 1 TO flag
MOVE 50 TO int1 DISPLAY"FETCH C13411 INTO :int1;" EXECSQL FETCH C13411 INTO :int1 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 0; its value is ", int1 if (int1 NOT = 0) then MOVE 0 TO flag END-IF
MOVE 50 TO int1 DISPLAY"FETCH C13412 INTO :int1;" EXECSQL FETCH C13412 INTO :int1 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 0; its value is ", int1 if (int1 NOT = 0) then MOVE 0 TO flag END-IF
MOVE 50 TO int1 DISPLAY"FETCH C13413 INTO :int1;" EXECSQL FETCH C13413 INTO :int1 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
MOVE 50 TO int1 DISPLAY"FETCH C13414 INTO :int1;" EXECSQL FETCH C13414 INTO :int1 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 2; its value is ", int1 if (int1 NOT = 2) then MOVE 0 TO flag END-IF
MOVE 50 TO int1 DISPLAY"FETCH C13415 INTO :int1;" EXECSQL FETCH C13415 INTO :int1 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
MOVE 50 TO int1 DISPLAY"FETCH C13416 INTO :int1;" EXECSQL FETCH C13416 INTO :int1 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
MOVE 50 TO int1 DISPLAY"FETCH C13417 INTO :int1;" EXECSQL FETCH C13417 INTO :int1 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 0; its value is ", int1 if (int1 NOT = 0) then MOVE 0 TO flag END-IF
MOVE 50 TO int1 DISPLAY"FETCH C13418 INTO :int1;" EXECSQL FETCH C13418 INTO :int1 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 0; its value is ", int1 if (int1 NOT = 0) then MOVE 0 TO flag END-IF
EXECSQL COMMIT WORK END-EXEC MOVE SQLCODE TO SQL-COD ******************** END TEST0688 ******************** ******************** BEGIN TEST0689 ******************* MOVE 1 TO flag
DISPLAY"CREATE VIEW INCOMPLETES AS" DISPLAY" SELECT ITEMTEXT, CONDTEXT, COSTTEXT" DISPLAY" FROM INVENTORY, COST_CODES, CONDITION_CODES,
- " ITEM_CODES" DISPLAY" WHERE INVENTORY.ITEMCODE =
- " ITEM_CODES.ITEMCODE" DISPLAY" AND ((INVENTORY.CONDCODE =
- " CONDITION_CODES.CONDCODE" DISPLAY" AND INVENTORY.COSTCODE IS NULL" DISPLAY" AND COST_CODES.COSTCODE IS NULL)" DISPLAY" OR (INVENTORY.COSTCODE =
- " COST_CODES.COSTCODE" DISPLAY" AND INVENTORY.CONDCODE IS NULL" DISPLAY" AND CONDITION_CODES.CONDCODE IS
- " NULL));" EXECSQL CREATE VIEW INCOMPLETES AS SELECT ITEMTEXT, CONDTEXT, COSTTEXT FROM INVENTORY, COST_CODES, CONDITION_CODES, ITEM_CODES
WHERE INVENTORY.ITEMCODE = ITEM_CODES.ITEMCODE AND ((INVENTORY.CONDCODE = CONDITION_CODES.CONDCODE AND INVENTORY.COSTCODE ISNULL AND COST_CODES.COSTCODE ISNULL) OR (INVENTORY.COSTCODE = COST_CODES.COSTCODE AND INVENTORY.CONDCODE ISNULL AND CONDITION_CODES.CONDCODE ISNULL)) END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
DISPLAY"CREATE VIEW VERBOSE_INV AS" DISPLAY" SELECT * FROM COMPLETES UNION SELECT * FROM
- " INCOMPLETES;" EXECSQL CREATE VIEW VERBOSE_INV AS SELECT * FROM COMPLETES UNION SELECT * FROM INCOMPLETES END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
*In a "real" program, all this would be read from files.
DISPLAY"dstmt=""INSERT INTO COST_CODES VALUES (?, TRIM
- " (?))""" MOVE"INSERT INTO COST_CODES VALUES (?, TRIM (?)) " TO dstmt
DISPLAY"PREPARE S13421 FROM :dstmt;" EXECSQL PREPARE S13421 FROM :dstmt END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
COMPUTE indic1 = -1 MOVE"No cost code assigned " TO dstmt DISPLAY"indic1 = -1" DISPLAY"dstmt=""No cost code assigned""" DISPLAY"EXECUTE S13421 USING :codev:indic1, :dstmt;" EXECSQL EXECUTE S13421 USING :codev:indic1, :dstmt END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
MOVE 0 TO codev MOVE"Expensive " TO dstmt DISPLAY"codev = 0" DISPLAY"dstmt=""Expensive""" DISPLAY"EXECUTE S13421 USING :codev, :dstmt;" EXECSQL EXECUTE S13421 USING :codev, :dstmt END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
MOVE 1 TO codev MOVE"Absurdly expensive " TO dstmt DISPLAY"codev = 1" DISPLAY"dstmt=""Absurdly expensive""" DISPLAY"EXECUTE S13421 USING :codev, :dstmt;" EXECSQL EXECUTE S13421 USING :codev, :dstmt END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
MOVE 2 TO codev MOVE"Outrageously expensive " TO dstmt DISPLAY"codev = 2" DISPLAY"dstmt=""Outrageously expensive""" DISPLAY"EXECUTE S13421 USING :codev, :dstmt;" EXECSQL EXECUTE S13421 USING :codev, :dstmt END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
MOVE 3 TO codev MOVE"Robbery; a complete and total rip-off
- " "TO dstmt DISPLAY"codev = 3" DISPLAY"dstmt=""Robbery; a complete and total rip-off""" DISPLAY"EXECUTE S13421 USING :codev, :dstmt;" EXECSQL EXECUTE S13421 USING :codev, :dstmt END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
DISPLAY"dstmt=""INSERT INTO CONDITION_CODES VALUES (?,
- " TRIM (?))""" MOVE"INSERT INTO CONDITION_CODES VALUES (?, TRIM (?)) " TO dstmt
DISPLAY"PREPARE S13422 FROM :dstmt;" EXECSQL PREPARE S13422 FROM :dstmt END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
COMPUTE indic1 = -1 MOVE"Unknown " TO dstmt DISPLAY"indic1 = -1" DISPLAY"dstmt=""Unknown""" DISPLAY"EXECUTE S13422 USING :codev:indic1, :dstmt;" EXECSQL EXECUTE S13422 USING :codev:indic1, :dstmt END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
MOVE 1 TO codev MOVE"Slightly used " TO dstmt DISPLAY"codev = 1" DISPLAY"dstmt=""Slightly used""" DISPLAY"EXECUTE S13422 USING :codev, :dstmt;" EXECSQL EXECUTE S13422 USING :codev, :dstmt END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
MOVE 2 TO codev MOVE"Returned as defective " TO dstmt DISPLAY"codev = 2" DISPLAY"dstmt=""Returned as defective""" DISPLAY"EXECUTE S13422 USING :codev, :dstmt;" EXECSQL EXECUTE S13422 USING :codev, :dstmt END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
MOVE 3 TO codev MOVE"Visibly damaged (no returns) " TO dstmt DISPLAY"codev = 3" DISPLAY"dstmt=""Visibly damaged (no returns)""" DISPLAY"EXECUTE S13422 USING :codev, :dstmt;" EXECSQL EXECUTE S13422 USING :codev, :dstmt END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
DISPLAY"dstmt=""INSERT INTO ITEM_CODES VALUES (?, TRIM
- " (?))""" MOVE"INSERT INTO ITEM_CODES VALUES (?, TRIM (?)) " TO dstmt
DISPLAY"PREPARE S13423 FROM :dstmt;" EXECSQL PREPARE S13423 FROM :dstmt END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
MOVE 1 TO codev MOVE"Lousy excuse for a tape deck " TO dstmt DISPLAY"codev = 1" DISPLAY"dstmt=""Lousy excuse for a tape deck""" DISPLAY"EXECUTE S13423 USING :codev, :dstmt;" EXECSQL EXECUTE S13423 USING :codev, :dstmt END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
MOVE 3 TO codev MOVE"World's worst VCR " TO dstmt DISPLAY"codev = 3" DISPLAY"dstmt=""World's worst VCR""" DISPLAY"EXECUTE S13423 USING :codev, :dstmt;" EXECSQL EXECUTE S13423 USING :codev, :dstmt END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
MOVE 4 TO codev MOVE"Irreparable intermittent CD player " TO dstmt DISPLAY"codev = 4" DISPLAY"dstmt=""Irreparable intermittent CD player""" DISPLAY"EXECUTE S13423 USING :codev, :dstmt;" EXECSQL EXECUTE S13423 USING :codev, :dstmt END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
MOVE 7 TO codev MOVE"Self-destruct VGA monitor w/ critical need
- " detect "TO dstmt DISPLAY"codev = 7" DISPLAY"dstmt=""Self-destruct VGA monitor w/ critical need
- " detect""" DISPLAY"EXECUTE S13423 USING :codev, :dstmt;" EXECSQL EXECUTE S13423 USING :codev, :dstmt END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
DISPLAY"dstmt=""INSERT INTO INVENTORY VALUES (?, ?, ?)""" MOVE"INSERT INTO INVENTORY VALUES (?, ?, ?) " TO dstmt
DISPLAY"PREPARE S13424 FROM :dstmt;" EXECSQL PREPARE S13424 FROM :dstmt END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
MOVE 3 TO int1 COMPUTE indic1 = -1 MOVE 4 TO int3 DISPLAY"int1 = 3" DISPLAY"indic1 = -1" DISPLAY"int3 = 4" DISPLAY"EXECUTE S13424 USING :int1, :int2:indic1, :int3;" EXECSQL EXECUTE S13424 USING :int1, :int2:indic1, :int3 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
MOVE 1 TO int1 MOVE 2 TO int2 MOVE 3 TO int3 DISPLAY"int1 = 1" DISPLAY"int2 = 2" DISPLAY"int3 = 3" DISPLAY"EXECUTE S13424 USING :int1, :int2, :int3;" EXECSQL EXECUTE S13424 USING :int1, :int2, :int3 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
MOVE 2 TO int1 MOVE 3 TO int2 MOVE 7 TO int3 DISPLAY"int1 = 2" DISPLAY"int2 = 3" DISPLAY"int3 = 7" DISPLAY"EXECUTE S13424 USING :int1, :int2, :int3;" EXECSQL EXECUTE S13424 USING :int1, :int2, :int3 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
MOVE 0 TO int1 MOVE 3 TO int2 MOVE 1 TO int3 DISPLAY"int1 = 0" DISPLAY"int2 = 3" DISPLAY"int3 = 1" DISPLAY"EXECUTE S13424 USING :int1, :int2, :int3;" EXECSQL EXECUTE S13424 USING :int1, :int2, :int3 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
MOVE 3 TO int1 MOVE 1 TO int2 MOVE 7 TO int3 DISPLAY"int1 = 3" DISPLAY"int2 = 1" DISPLAY"int3 = 7" DISPLAY"EXECUTE S13424 USING :int1, :int2, :int3;" EXECSQL EXECUTE S13424 USING :int1, :int2, :int3 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
*End of data loading
COMPUTE int1 = -1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM VERBOSE_INV;" EXECSQLSELECTCOUNT(*) INTO :int1 FROM VERBOSE_INV END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 5; its value is ", int1 if (int1 NOT = 5) then MOVE 0 TO flag END-IF
COMPUTE int1 = -1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM INCOMPLETES;" EXECSQLSELECTCOUNT(*) INTO :int1 FROM INCOMPLETES END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
COMPUTE int1 = -1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM COMPLETES;" EXECSQLSELECTCOUNT(*) INTO :int1 FROM COMPLETES END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 4; its value is ", int1 if (int1 NOT = 4) then MOVE 0 TO flag END-IF
COMPUTE int1 = -1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM VERBOSE_INV" DISPLAY" WHERE ITEMTEXT = 'Irreparable intermittent CD
- " player'" DISPLAY" AND CONDTEXT = 'Unknown'" DISPLAY" AND COSTTEXT = 'Robbery; a complete and total
- " rip-off';" EXECSQLSELECTCOUNT(*) INTO :int1 FROM VERBOSE_INV
WHERE ITEMTEXT = 'Irreparable intermittent CD player' AND CONDTEXT = 'Unknown' AND COSTTEXT = 'Robbery; a complete and total rip-off' END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
COMPUTE int1 = -1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM VERBOSE_INV" DISPLAY" WHERE ITEMTEXT = 'Lousy excuse for a tape deck'" DISPLAY" AND CONDTEXT = 'Visibly damaged (no returns)'" DISPLAY" AND COSTTEXT = 'Expensive';" EXECSQLSELECTCOUNT(*) INTO :int1 FROM VERBOSE_INV
WHERE ITEMTEXT = 'Lousy excuse for a tape deck' AND CONDTEXT = 'Visibly damaged (no returns)' AND COSTTEXT = 'Expensive'END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
COMPUTE int1 = -1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM VERBOSE_INV" DISPLAY" WHERE ITEMTEXT =" DISPLAY" 'Self-destruct VGA monitor w/ critical need
- " detect'" DISPLAY" AND CONDTEXT = 'Slightly used'" DISPLAY" AND COSTTEXT = 'Robbery; a complete and total
- " rip-off';" EXECSQLSELECTCOUNT(*) INTO :int1 FROM VERBOSE_INV
WHERE ITEMTEXT = 'Self-destruct VGA monitor w/ critical need detect' AND CONDTEXT = 'Slightly used' AND COSTTEXT = 'Robbery; a complete and total rip-off' END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
COMPUTE int1 = -1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM VERBOSE_INV" DISPLAY" WHERE ITEMTEXT =" DISPLAY" 'Self-destruct VGA monitor w/ critical need
- " detect'" DISPLAY" AND CONDTEXT = 'Visibly damaged (no returns)'" DISPLAY" AND COSTTEXT = 'Outrageously expensive';" EXECSQLSELECTCOUNT(*) INTO :int1 FROM VERBOSE_INV
WHERE ITEMTEXT = 'Self-destruct VGA monitor w/ critical need detect' AND CONDTEXT = 'Visibly damaged (no returns)' AND COSTTEXT = 'Outrageously expensive'END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
COMPUTE int1 = -1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM VERBOSE_INV" DISPLAY" WHERE ITEMTEXT = 'World''s worst VCR'" DISPLAY" AND CONDTEXT = 'Returned as defective'" DISPLAY" AND COSTTEXT = 'Absurdly expensive';" EXECSQLSELECTCOUNT(*) INTO :int1 FROM VERBOSE_INV
WHERE ITEMTEXT = 'World''s worst VCR' AND CONDTEXT = 'Returned as defective' AND COSTTEXT = 'Absurdly expensive'END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
EXECSQL COMMIT WORK END-EXEC MOVE SQLCODE TO SQL-COD ******************** END TEST0689 ******************** ******************** BEGIN TEST0690 ******************* MOVE 1 TO flag
DISPLAY"CREATE VIEW GAPS AS" DISPLAY" SELECT * FROM PORGRAM AS OUTERR WHERE NOT
- " EXISTS" DISPLAY" (SELECT * FROM PORGRAM AS INNERR WHERE
- " OUTERR.STARTS" DISPLAY" + OUTERR.LASTS = INNERR.STARTS);" EXECSQL CREATE VIEW GAPS AS SELECT * FROM PORGRAM AS OUTERR WHERE NOT EXISTS
(SELECT * FROM PORGRAM AS INNERR WHERE OUTERR.STARTS
+ OUTERR.LASTS = INNERR.STARTS) END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
DISPLAY"INSERT INTO PORGRAM VALUES (" DISPLAY" 1, TIME '12:00:00'," DISPLAY" CAST ('10:00' AS INTERVAL MINUTE TO SECOND)," DISPLAY" 'Monologue');" EXECSQLINSERTINTO PORGRAM VALUES (
1, TIME'12:00:00',
CAST ('10:00' AS INTERVAL MINUTE TO SECOND), 'Monologue') END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
DISPLAY"INSERT INTO PORGRAM VALUES (" DISPLAY" 2, TIME '12:10:00'," DISPLAY" CAST ('04:30' AS INTERVAL MINUTE TO SECOND)," DISPLAY" 'Stupid commercials');" EXECSQLINSERTINTO PORGRAM VALUES (
2, TIME'12:10:00',
CAST ('04:30' AS INTERVAL MINUTE TO SECOND), 'Stupid commercials') END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
DISPLAY"INSERT INTO PORGRAM VALUES (" DISPLAY" 3, TIME '12:14:30'," DISPLAY" CAST ('12:30' AS INTERVAL MINUTE TO SECOND)," DISPLAY" 'Braunschweiger, plug Explosion Man II');" EXECSQLINSERTINTO PORGRAM VALUES (
3, TIME'12:14:30',
CAST ('12:30' AS INTERVAL MINUTE TO SECOND), 'Braunschweiger, plug Explosion Man II') END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
DISPLAY"INSERT INTO PORGRAM VALUES (" DISPLAY" 4, TIME '12:27:00'," DISPLAY" CAST ('03:00' AS INTERVAL MINUTE TO SECOND)," DISPLAY" 'Stupid commercials');" EXECSQLINSERTINTO PORGRAM VALUES (
4, TIME'12:27:00',
CAST ('03:00' AS INTERVAL MINUTE TO SECOND), 'Stupid commercials') END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
DISPLAY"INSERT INTO PORGRAM VALUES (" DISPLAY" 5, TIME '12:30:00'," DISPLAY" CAST ('00:10' AS INTERVAL MINUTE TO SECOND)," DISPLAY" 'Tease');" EXECSQLINSERTINTO PORGRAM VALUES (
5, TIME'12:30:00',
CAST ('00:10' AS INTERVAL MINUTE TO SECOND), 'Tease') END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
DISPLAY"INSERT INTO PORGRAM VALUES (" DISPLAY" 6, TIME '12:30:10'," DISPLAY" CAST ('03:50' AS INTERVAL MINUTE TO SECOND)," DISPLAY" 'Stupid commercials, local news');" EXECSQLINSERTINTO PORGRAM VALUES (
6, TIME'12:30:10',
CAST ('03:50' AS INTERVAL MINUTE TO SECOND), 'Stupid commercials, local news') END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
DISPLAY"INSERT INTO PORGRAM VALUES (" DISPLAY" 7, TIME '12:34:00'," DISPLAY" CAST ('11:00' AS INTERVAL MINUTE TO SECOND)," DISPLAY" 'Spinal Tap, plug Asexual Harassment');" EXECSQLINSERTINTO PORGRAM VALUES (
7, TIME'12:34:00',
CAST ('11:00' AS INTERVAL MINUTE TO SECOND), 'Spinal Tap, plug Asexual Harassment') END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
DISPLAY"INSERT INTO PORGRAM VALUES (" DISPLAY" 8, TIME '12:45:00'," DISPLAY" CAST ('05:00' AS INTERVAL MINUTE TO SECOND)," DISPLAY" 'Stupid commercials');" EXECSQLINSERTINTO PORGRAM VALUES (
8, TIME'12:45:00',
CAST ('05:00' AS INTERVAL MINUTE TO SECOND), 'Stupid commercials') END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
DISPLAY"INSERT INTO PORGRAM VALUES (" DISPLAY" 9, TIME '12:50:00'," DISPLAY" CAST ('05:00' AS INTERVAL MINUTE TO SECOND)," DISPLAY" 'Spinal Tap, play Ode du Toilette');" EXECSQLINSERTINTO PORGRAM VALUES (
9, TIME'12:50:00',
CAST ('05:00' AS INTERVAL MINUTE TO SECOND), 'Spinal Tap, play Ode du Toilette') END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
DISPLAY"INSERT INTO PORGRAM VALUES (" DISPLAY" 10, TIME '12:55:00'," DISPLAY" CAST ('03:00' AS INTERVAL MINUTE TO SECOND)," DISPLAY" 'Stupid commercials');" EXECSQLINSERTINTO PORGRAM VALUES (
10, TIME'12:55:00',
CAST ('03:00' AS INTERVAL MINUTE TO SECOND), 'Stupid commercials') END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
DISPLAY"INSERT INTO PORGRAM VALUES (" DISPLAY" 11, TIME '12:58:00'," DISPLAY" CAST ('00:10' AS INTERVAL MINUTE TO SECOND)," DISPLAY" 'Credits');" EXECSQLINSERTINTO PORGRAM VALUES (
11, TIME'12:58:00',
CAST ('00:10' AS INTERVAL MINUTE TO SECOND), 'Credits') END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
DISPLAY"INSERT INTO PORGRAM VALUES (" DISPLAY" 12, TIME '12:58:10'," DISPLAY" CAST ('01:50' AS INTERVAL MINUTE TO SECOND)," DISPLAY" 'Stupid commercials');" EXECSQLINSERTINTO PORGRAM VALUES (
12, TIME'12:58:10',
CAST ('01:50' AS INTERVAL MINUTE TO SECOND), 'Stupid commercials') END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
DISPLAY"INSERT INTO PORGRAM VALUES (" DISPLAY" 13, TIME '13:00:00'," DISPLAY" CAST ('00:00' AS INTERVAL MINUTE TO SECOND)," DISPLAY" 'END');" EXECSQLINSERTINTO PORGRAM VALUES (
13, TIME'13:00:00',
CAST ('00:00' AS INTERVAL MINUTE TO SECOND), 'END') END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
*In the beginning, all was good.
COMPUTE int1 = -1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM GAPS;" EXECSQLSELECTCOUNT(*) INTO :int1 FROM GAPS END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 0; its value is ", int1 if (int1 NOT = 0) then MOVE 0 TO flag END-IF
*Braunschweiger was late. Move up Spinal Tap.
DISPLAY"UPDATE PORGRAM" DISPLAY" SET STARTS = TIME '12:14:30'" DISPLAY" WHERE SEGNO = 7;" EXECSQL UPDATE PORGRAM SET STARTS = TIME'12:14:30'
WHERE SEGNO = 7 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
DISPLAY"UPDATE PORGRAM SET STARTS = STARTS -" DISPLAY" CAST ('01:30' AS INTERVAL MINUTE TO SECOND)" DISPLAY" WHERE SEGNO >= 4 AND SEGNO <= 6;" EXECSQL UPDATE PORGRAM SET STARTS = STARTS -
CAST ('01:30' AS INTERVAL MINUTE TO SECOND)
WHERE SEGNO >= 4 AND SEGNO <= 6 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
DISPLAY"UPDATE PORGRAM SET STARTS = TIME '12:28:40' +" DISPLAY" CAST ('03:50' AS INTERVAL MINUTE TO SECOND)" DISPLAY" WHERE SEGNO = 3;" EXECSQL UPDATE PORGRAM SET STARTS = TIME'12:28:40' +
CAST ('03:50' AS INTERVAL MINUTE TO SECOND)
WHERE SEGNO = 3 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
COMPUTE int1 = -1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM GAPS;" EXECSQLSELECTCOUNT(*) INTO :int1 FROM GAPS END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 0; its value is ", int1 if (int1 NOT = 0) then MOVE 0 TO flag END-IF
DISPLAY"DECLARE ARNOLD CURSOR FOR" DISPLAY" SELECT SEGNO FROM PORGRAM ORDER BY STARTS;" EXECSQL DECLARE ARNOLD CURSOR FOR SELECT SEGNO FROM PORGRAM ORDERBY STARTS END-EXEC
DISPLAY"OPEN ARNOLD;" EXECSQLOPEN ARNOLD END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
COMPUTE int1 = -1 DISPLAY"FETCH ARNOLD INTO :int1;" EXECSQL FETCH ARNOLD INTO :int1 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
COMPUTE int1 = -1 DISPLAY"FETCH ARNOLD INTO :int1;" EXECSQL FETCH ARNOLD INTO :int1 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 2; its value is ", int1 if (int1 NOT = 2) then MOVE 0 TO flag END-IF
COMPUTE int1 = -1 DISPLAY"FETCH ARNOLD INTO :int1;" EXECSQL FETCH ARNOLD INTO :int1 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 7; its value is ", int1 if (int1 NOT = 7) then MOVE 0 TO flag END-IF
COMPUTE int1 = -1 DISPLAY"FETCH ARNOLD INTO :int1;" EXECSQL FETCH ARNOLD INTO :int1 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 4; its value is ", int1 if (int1 NOT = 4) then MOVE 0 TO flag END-IF
COMPUTE int1 = -1 DISPLAY"FETCH ARNOLD INTO :int1;" EXECSQL FETCH ARNOLD INTO :int1 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 5; its value is ", int1 if (int1 NOT = 5) then MOVE 0 TO flag END-IF
COMPUTE int1 = -1 DISPLAY"FETCH ARNOLD INTO :int1;" EXECSQL FETCH ARNOLD INTO :int1 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 6; its value is ", int1 if (int1 NOT = 6) then MOVE 0 TO flag END-IF
COMPUTE int1 = -1 DISPLAY"FETCH ARNOLD INTO :int1;" EXECSQL FETCH ARNOLD INTO :int1 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 3; its value is ", int1 if (int1 NOT = 3) then MOVE 0 TO flag END-IF
COMPUTE int1 = -1 DISPLAY"FETCH ARNOLD INTO :int1;" EXECSQL FETCH ARNOLD INTO :int1 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 8; its value is ", int1 if (int1 NOT = 8) then MOVE 0 TO flag END-IF
COMPUTE int1 = -1 DISPLAY"FETCH ARNOLD INTO :int1;" EXECSQL FETCH ARNOLD INTO :int1 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 9; its value is ", int1 if (int1 NOT = 9) then MOVE 0 TO flag END-IF
COMPUTE int1 = -1 DISPLAY"FETCH ARNOLD INTO :int1;" EXECSQL FETCH ARNOLD INTO :int1 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 10; its value is ", int1 if (int1 NOT = 10) then MOVE 0 TO flag END-IF
COMPUTE int1 = -1 DISPLAY"FETCH ARNOLD INTO :int1;" EXECSQL FETCH ARNOLD INTO :int1 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 11; its value is ", int1 if (int1 NOT = 11) then MOVE 0 TO flag END-IF
COMPUTE int1 = -1 DISPLAY"FETCH ARNOLD INTO :int1;" EXECSQL FETCH ARNOLD INTO :int1 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 12; its value is ", int1 if (int1 NOT = 12) then MOVE 0 TO flag END-IF
COMPUTE int1 = -1 DISPLAY"FETCH ARNOLD INTO :int1;" EXECSQL FETCH ARNOLD INTO :int1 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 13; its value is ", int1 if (int1 NOT = 13) then MOVE 0 TO flag END-IF
DISPLAY"CLOSE ARNOLD;" EXECSQLCLOSE ARNOLD END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
*One of the sponsors pulled out at the last minute because they *didn't want to be associated with us after we had Spinal Tap on *the show. *Cast integer to interval second: 6.10 SR.5
DISPLAY"UPDATE PORGRAM SET LASTS = LASTS -" DISPLAY" CAST (30 AS INTERVAL SECOND) WHERE SEGNO" DISPLAY" = 10;" EXECSQL UPDATE PORGRAM SET LASTS = LASTS -
CAST (30 AS INTERVAL SECOND) WHERE SEGNO
= 10 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
MOVE 0 TO int1 DISPLAY"SELECT SEGNO INTO :int1 FROM GAPS;" EXECSQLSELECT SEGNO INTO :int1 FROM GAPS END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 10; its value is ", int1 if (int1 NOT = 10) then MOVE 0 TO flag END-IF
*So we took up the slack by letting Spinal Tap play some more :-
DISPLAY"UPDATE PORGRAM SET LASTS = LASTS +" DISPLAY" CAST ('30' AS INTERVAL SECOND) WHERE" DISPLAY" SEGNO = 9;" EXECSQL UPDATE PORGRAM SET LASTS = LASTS +
CAST ('30' AS INTERVAL SECOND) WHERE
SEGNO = 9 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
DISPLAY"UPDATE PORGRAM SET STARTS = STARTS +" DISPLAY" CAST (30. AS INTERVAL SECOND) WHERE" DISPLAY" SEGNO = 10;" EXECSQL UPDATE PORGRAM SET STARTS = STARTS +
CAST (30. AS INTERVAL SECOND) WHERE
SEGNO = 10 END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
COMPUTE int1 = -1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM GAPS;" EXECSQLSELECTCOUNT(*) INTO :int1 FROM GAPS END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 0; its value is ", int1 if (int1 NOT = 0) then MOVE 0 TO flag END-IF
EXECSQL COMMIT WORK END-EXEC MOVE SQLCODE TO SQL-COD ******************** END TEST0690 ******************** ******************** BEGIN TEST0691 ******************* MOVE 1 TO flag
¤ 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.43Bemerkung:
(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.