📄 dml081.sql
字号:
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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -