📄 dml061.out
字号:
ij> AUTOCOMMIT OFF;ij> -- MODULE DML061-- SQL Test Suite, V6.0, Interactive SQL, dml061.sql-- 59-byte ID-- TEd Version #-- AUTHORIZATION HU set schema HU;0 rows inserted/updated/deletedij> --0 SELECT USER FROM HU.ECCO; VALUES USER;1 --------------------------------------------------------------------------------------------------------------------------------HU ij> -- RERUN if USER value does not match preceding AUTHORIZATION comment-- date_time print-- TEST:0269 BETWEEN value expressions in wrong order! SELECT COUNT(*) FROM WORKS WHERE HOURS BETWEEN 80 AND 40;1 -----------0 ij> -- PASS:0269 If count = 0 ?-- setup INSERT INTO WORKS VALUES('E6','P6',-60);1 row inserted/updated/deletedij> SELECT COUNT(*) FROM WORKS WHERE HOURS BETWEEN -40 AND -80;1 -----------0 ij> -- PASS:0269 If count = 0? SELECT COUNT(*) FROM WORKS WHERE HOURS BETWEEN -80 AND -40;1 -----------1 ij> -- PASS:0269 If count = 1?-- restore ROLLBACK WORK;ij> -- END TEST >>> 0269 <<< END TEST-- ****************************************************************-- TEST:0270 BETWEEN approximate and exact numeric values! SELECT COUNT(*) FROM WORKS WHERE HOURS BETWEEN 11.999 AND 12 OR HOURS BETWEEN 19.999 AND 2.001E1;1 -----------6 ij> -- PASS:0270 If count = 6?-- END TEST >>> 0270 <<< END TEST-- ****************************************************************-- TEST:0271 COUNT(*) with Cartesian product subset ! SELECT COUNT(*) FROM WORKS,STAFF WHERE WORKS.EMPNUM = 'E1';1 -----------30 ij> -- PASS:0271 If count = 30?-- END TEST >>> 0271 <<< END TEST-- ****************************************************************-- TEST:0272 Statement rollback for integrity! UPDATE WORKS SET EMPNUM = 'E7' WHERE EMPNUM = 'E1' OR EMPNUM = 'E4';ERROR 23505: The statement was aborted because it would have caused a duplicate key value in a unique or primary key constraint or unique index identified by 'WORKSC1' defined on 'WORKS'.ij> -- PASS:0272 If ERROR, unique constraint, 0 rows updated? INSERT INTO WORKS SELECT 'E3',PNUM,17 FROM PROJ;ERROR 23505: The statement was aborted because it would have caused a duplicate key value in a unique or primary key constraint or unique index identified by 'WORKSC1' defined on 'WORKS'.ij> -- PASS:0272 If ERROR, unique constraint, 0 rows inserted?--0 UPDATE V_WORKS1--0 SET HOURS = HOURS - 9;-- PASS:0272 If ERROR, view check constraint, 0 rows updated? SELECT COUNT(*) FROM WORKS WHERE EMPNUM = 'E7' OR HOURS = 31 OR HOURS = 17;1 -----------0 ij> -- PASS:0272 If count = 0?-- restore ROLLBACK WORK;ij> -- END TEST >>> 0272 <<< END TEST-- ****************************************************************-- TEST:0273 SUM, MAX, MIN = NULL for empty arguments ! UPDATE WORKS SET HOURS = NULL;12 rows inserted/updated/deletedij> -- PASS:0273 If 12 rows updated? SELECT SUM(HOURS),MAX(HOURS),MIN(HOURS),MIN(EMPNUM) FROM WORKS;1 |2 |3 |4 ------------------------------NULL |NULL |NULL |E1 WARNING 01003: Null values were eliminated from the argument of a column function.ij> -- PASS:0273 If 1 row is selected?-- PASS:0273 If SUM(HOURS), MAX(HOURS), and MIN(HOURS) are NULL?-- restore ROLLBACK WORK;ij> -- END TEST >>> 0273 <<< END TEST-- ****************************************************************-- TEST:0277 Computation with NULL value specification! UPDATE WORKS SET HOURS = NULL WHERE EMPNUM = 'E1';6 rows inserted/updated/deletedij> -- PASS:0277 If 6 rows are updated? UPDATE WORKS SET HOURS = HOURS - (3 + -17);12 rows inserted/updated/deletedij> -- PASS:0277 If 12 rows are updated? UPDATE WORKS SET HOURS = 3 / -17 * HOURS;12 rows inserted/updated/deletedij> -- PASS:0277 If 12 rows are updated? UPDATE WORKS SET HOURS = HOURS + 5;12 rows inserted/updated/deletedij> -- PASS:0277 If 12 rows are updated? SELECT COUNT(*) FROM WORKS WHERE HOURS IS NULL;1 -----------6 ij> -- PASS:0277 If count = 6?-- restore ROLLBACK WORK;ij> -- END TEST >>> 0277 <<< END TEST-- ****************************************************************-- TEST:0278 IN value list with USER, literal, variable spec.! UPDATE STAFF SET EMPNAME = 'HU' WHERE EMPNAME = 'Ed';1 row inserted/updated/deletedij> -- PASS:0278 If 1 row is updated? SELECT COUNT(*) FROM STAFF WHERE EMPNAME IN (USER,'Betty','Carmen');1 -----------3 ij> -- PASS:0278 If count = 3?-- restore ROLLBACK WORK;ij> -- END TEST >>> 0278 <<< END TEST-- *************************************************////END-OF-MODULE;ij>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -