blob: 75a4cd8915c05742d47cb2d85efb2935d5326524 [file] [log] [blame]
ij> AUTOCOMMIT OFF;
ij> -- MODULE DML026
-- SQL Test Suite, V6.0, Interactive SQL, dml026.sql
-- 59-byte ID
-- TEd Version #
-- AUTHORIZATION HU
set schema HU;
0 rows inserted/updated/deleted
ij> --O SELECT USER FROM HU.ECCO;
VALUES USER;
1
--------------------------------------------------------------------------------------------------------------------------------
HU
ij> -- RERUN if USER value does not match preceding AUTHORIZATION comment
-- date_time print
-- TEST:0118 Monadic arithmetic operator +!
SELECT +MAX(DISTINCT HOURS)
FROM WORKS;
1
------
80
ij> -- PASS:0118 If +MAX(DISTINCT HOURS) = 80?
-- END TEST >>> 0118 <<< END TEST
-- *********************************************************
-- TEST:0119 Monadic arithmetic operator -!
SELECT -MAX(DISTINCT HOURS)
FROM WORKS;
1
------
-80
ij> -- PASS:0119 If -MAX(DISTINCT HOURS) = -80?
-- END TEST >>> 0119 <<< END TEST
-- *********************************************************
-- TEST:0120 Value expression with NULL primary IS NULL!
-- setup
INSERT INTO WORKS1
SELECT *
FROM WORKS;
12 rows inserted/updated/deleted
ij> -- PASS:0120 If 12 rows are inserted ?
-- setup
INSERT INTO WORKS1
VALUES('E9','P1',NULL);
1 row inserted/updated/deleted
ij> -- PASS:0120 If 1 row is inserted?
SELECT EMPNUM
FROM WORKS1
WHERE HOURS IS NULL;
EM&
---
E9
ij> -- PASS:0120 If EMPNUM = 'E9'?
-- NOTE:0120 we insert into WORKS from WORKS1
-- setup
INSERT INTO WORKS
SELECT EMPNUM,'P9',20+HOURS
FROM WORKS1
WHERE EMPNUM='E9';
1 row inserted/updated/deleted
ij> -- PASS:0120 If 1 row is inserted?
--O SELECT COUNT(*)
SELECT *
FROM WORKS
WHERE EMPNUM='E9';
EM&|PN&|HOURS
--------------
E9 |P9 |NULL
ij> -- PASS:0120 If count = 1 ?
--O SELECT COUNT(*)
SELECT *
FROM WORKS
WHERE HOURS IS NULL;
EM&|PN&|HOURS
--------------
E9 |P9 |NULL
ij> -- PASS:0120 If count = 1 ?
-- restore
ROLLBACK WORK;
ij> -- END TEST >>> 0120 <<< END TEST
-- **********************************************************
-- TEST:0121 Dyadic operators +, -, *, /!
--O SELECT COUNT(*)
SELECT *
FROM VTABLE;
COL1 |COL2 |COL3 |COL4 |COL5
---------------------------------------------------------
10 |20 |30 |40 |10.50
0 |1 |2 |3 |4.25
100 |200 |300 |400 |500.01
1000 |-2000 |3000 |NULL |4000.00
ij> -- PASS:0121 If count = 4 ?
SELECT +COL1+COL2 - COL3*COL4/COL1
FROM VTABLE
WHERE COL1=10;
1
-----------
-90
ij> -- PASS:0121 If answer is -90?
-- END TEST >>> 0121 <<< END TEST
-- *********************************************************
-- TEST:0122 Divisor shall not be zero!
SELECT COL2/COL1+COL3
FROM VTABLE
WHERE COL4=3;
1
-----------
ERROR 22012: Attempt to divide by zero.
ij> -- PASS:0122 If ERROR Number not Divisible by Zero?
-- END TEST >>> 0122 <<< END TEST
-- **********************************************************
-- TEST:0123 Evaluation order of expression!
SELECT (-COL2+COL1)*COL3 - COL3/COL1
FROM VTABLE
WHERE COL4 IS NULL;
1
-----------
8999997
ij> -- PASS:0123 If Answer is 8999997 (plus or minus 0.5)?
-- END TEST >>> 0123 <<< END TEST
-- *************************************************////END-OF-MODULE
;
ij>