| AUTOCOMMIT OFF; |
| |
| -- MODULE DML081 |
| |
| -- SQL Test Suite, V6.0, Interactive SQL, dml081.sql |
| -- 59-byte ID |
| -- TEd Version # |
| |
| -- AUTHORIZATION SCHANZLE |
| set schema SCHANZLE; |
| |
| --O SELECT USER FROM HU.ECCO; |
| VALUES USER; |
| -- RERUN if USER value does not match preceding AUTHORIZATION comment |
| |
| -- date_time print |
| |
| -- NOTE Direct support for SQLCODE or SQLSTATE is not required |
| -- NOTE in Interactive Direct SQL, as defined in FIPS 127-2. |
| -- NOTE ********************* instead *************************** |
| -- NOTE If a statement raises an exception condition, |
| -- NOTE then the system shall display a message indicating that |
| -- NOTE the statement failed, giving a textual description |
| -- NOTE of the failure. |
| -- NOTE If a statement raises a completion condition that is a |
| -- NOTE "warning" or "no data", then the system shall display |
| -- NOTE a message indicating that the statement completed, |
| -- NOTE giving a textual description of the "warning" or "no data." |
| |
| -- TEST:0487 SQLSTATE 00000: successful completion! |
| |
| --O SELECT COUNT(*) |
| SELECT * |
| FROM HU.WORKS; |
| -- PASS:0487 If count = 12? |
| -- PASS:0487 OR SQLSTATE = 00000: successful completion? |
| |
| -- END TEST >>> 0487 <<< END TEST |
| -- ********************************************* |
| |
| -- TEST:0488 SQLSTATE 21000: cardinality violation! |
| |
| --O SELECT COUNT(*) |
| SELECT * |
| FROM HU.WORKS |
| WHERE PNUM = (SELECT PNUM |
| FROM HU.WORKS |
| WHERE HOURS = 80); |
| -- PASS:0488 If ERROR, cardinality violation, 0 rows selected? |
| -- PASS:0488 OR SQLSTATE = 21000 OR SQLCODE < 0? |
| |
| -- END TEST >>> 0488 <<< END TEST |
| -- ********************************************* |
| |
| -- TEST:0489 SQLSTATE 02000: no data! |
| |
| SELECT GRADE |
| FROM HU.STAFF |
| WHERE EMPNUM = 'xx'; |
| -- PASS:0489 If 0 rows selected? |
| -- PASS:0489 OR SQLSTATE = 02000: no data OR SQLCODE = 100? |
| |
| DELETE FROM HU.STAFF |
| WHERE GRADE = 11; |
| -- PASS:0489 If 0 rows deleted? |
| -- PASS:0489 OR SQLSTATE = 02000: no data OR SQLCODE = 100? |
| |
| INSERT INTO HU.STAFF (EMPNUM,GRADE) |
| SELECT EMPNUM, 9 |
| FROM HU.WORKS |
| WHERE PNUM = 'x9'; |
| -- PASS:0489 If 0 rows inserted? |
| -- PASS:0489 OR SQLSTATE = 02000: no data OR SQLCODE = 100? |
| |
| UPDATE HU.STAFF SET CITY = 'Ho' |
| WHERE GRADE = 15; |
| -- PASS:0489 If 0 rows updated? |
| -- PASS:0489 OR SQLSTATE = 02000: no data OR SQLCODE = 100? |
| |
| -- restore |
| ROLLBACK WORK; |
| |
| -- END TEST >>> 0489 <<< END TEST |
| -- ********************************************* |
| |
| -- TEST:0490 SQLSTATE 22012: data exception/division by zero! |
| |
| -- setup |
| INSERT INTO HU.STAFF |
| VALUES ('E6','Fidel',0,'Havana'); |
| |
| --O SELECT COUNT(*) |
| SELECT * |
| FROM HU.STAFF |
| WHERE EMPNAME = 'Fidel' AND 16/GRADE > 2; |
| -- PASS:0490 If ERROR, data exception/division by zero, 0 rows selected? |
| -- PASS:0490 OR SQLSTATE = 22012 OR SQLCODE < 0? |
| |
| SELECT 16/GRADE |
| FROM HU.STAFF |
| WHERE EMPNAME = 'Fidel'; |
| -- PASS:0490 If ERROR, data exception/division by zero, 0 rows selected? |
| -- PASS:0490 OR SQLSTATE = 22012 OR SQLCODE < 0? |
| |
| SELECT COUNT(*) |
| FROM HU.STAFF |
| GROUP BY CITY HAVING SUM(GRADE/0) > 44; |
| -- PASS:0490 If ERROR, data exception/division by zero, 0 rows selected? |
| -- PASS:0490 OR SQLSTATE = 22012 OR SQLCODE < 0? |
| |
| --O SELECT COUNT(*) |
| SELECT * |
| FROM HU.STAFF WHERE GRADE = |
| (SELECT 16/GRADE |
| FROM HU.STAFF |
| WHERE EMPNUM = 'E6'); |
| -- PASS:0490 If ERROR, data exception/division by zero, 0 rows selected? |
| -- PASS:0490 OR SQLSTATE = 22012 OR SQLCODE < 0? |
| |
| UPDATE HU.STAFF |
| SET GRADE = GRADE/0 |
| WHERE GRADE = 12; |
| -- PASS:0490 If ERROR, data exception/division by zero, 0 rows updated? |
| -- PASS:0490 OR SQLSTATE = 22012 OR SQLCODE < 0? |
| |
| INSERT INTO HU.STAFF |
| SELECT 'X','Y',HOURS/0,'z' |
| FROM HU.WORKS |
| WHERE PNUM = 'P6'; |
| -- PASS:0490 If ERROR, data exception/division by zero, 0 rows inserted? |
| -- PASS:0490 OR SQLSTATE = 22012 OR SQLCODE < 0? |
| |
| -- restore |
| ROLLBACK WORK; |
| |
| -- END TEST >>> 0490 <<< END TEST |
| -- ********************************************* |
| |
| -- NO_TEST:0502 SQLSTATE 24000: invalid cursor state! |
| |
| -- Testing cursors |
| |
| -- *************************************************////END-OF-MODULE |