1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
ij> AUTOCOMMIT OFF;
ij> -- MODULE YTS798
-- SQL Test Suite, V6.0, Interactive SQL, yts798.sql
-- 59-byte ID
-- TEd Version #
-- AUTHORIZATION CTS1
set schema CTS1;
0 rows inserted/updated/deleted
ij> --O SELECT USER FROM HU.ECCO;
VALUES USER;
1
--------------------------------------------------------------------------------------------------------------------------------
CTS1
ij> -- RERUN if USER value does not match preceding AUTHORIZATION comment
ROLLBACK WORK;
ij> DELETE FROM TV;
5 rows inserted/updated/deleted
ij> INSERT INTO TV VALUES (1,'a');
1 row inserted/updated/deleted
ij> INSERT INTO TV VALUES (2,'b');
1 row inserted/updated/deleted
ij> INSERT INTO TV VALUES (3,'c');
1 row inserted/updated/deleted
ij> INSERT INTO TV VALUES (4,'d');
1 row inserted/updated/deleted
ij> INSERT INTO TV VALUES (5,'e');
1 row inserted/updated/deleted
ij> DELETE FROM TW;
5 rows inserted/updated/deleted
ij> INSERT INTO TW VALUES ('b',2);
1 row inserted/updated/deleted
ij> INSERT INTO TW VALUES ('g',1);
1 row inserted/updated/deleted
ij> INSERT INTO TW VALUES ('f',2);
1 row inserted/updated/deleted
ij> INSERT INTO TW VALUES ('h',4);
1 row inserted/updated/deleted
ij> INSERT INTO TW VALUES ('i',5);
1 row inserted/updated/deleted
ij> -- date_time print
-- TEST:7559 <scalar subquery> in <select list> of single-row select!
SELECT DISTINCT A,
(SELECT D FROM TW
WHERE E = X.A)
--O FROM TV AS X, TW AS Y
FROM TV X, TW Y
--O WHERE 1 <
--O (SELECT COUNT (*) FROM TV, TW
WHERE exists
(SELECT * FROM TV, TW
WHERE A = X.A
AND A = E);
ERROR 21000: Scalar subquery is only allowed to return a single row.
ij> -- PASS:7559 If ERROR - cardinality violation?
SELECT DISTINCT A,
(SELECT D FROM TW
WHERE E = X.A)
--O FROM TV AS X, TW AS Y
FROM TV X, TW Y
WHERE A = 1;
A |2
----------------
1 |g
ij> -- PASS:7559 If A = 1 and D = 'g'?
SELECT DISTINCT A,
(SELECT D FROM TW
WHERE E = X.A)
--O FROM TV AS X, TW AS Y
FROM TV X, TW Y
WHERE A = 3;
A |2
----------------
3 |NULL
ij> -- PASS:7559 If A = 3 and D = NULL?
ROLLBACK WORK;
ij> -- END TEST >>> 7559 <<< END TEST
-- *********************************************
-- *************************************************////END-OF-MODULE
;
ij>
|