blob: c1ed924429980b1a03e3d98163bc6aba4fb4bdc5 [file] [log] [blame]
AUTOCOMMIT OFF;
-- MODULE DML108
-- SQL Test Suite, V6.0, Interactive SQL, dml108.sql
-- 59-byte ID
-- TEd Version #
-- AUTHORIZATION FLATER
set schema FLATER;
--0 SELECT USER FROM HU.ECCO;
VALUES USER;
-- RERUN if USER value does not match preceding AUTHORIZATION comment
ROLLBACK WORK;
-- date_time print
-- TEST:0617 DATETIME with predicates, set fns (static)!
CREATE TABLE TEMPS (
ENTERED TIMESTAMP,
START DATE,
--0 APPT INTERVAL DAY,
HOUR_IN TIME,
HOUR_OUT TIME
--0 , LUNCH INTERVAL HOUR TO MINUTE);
);
-- PASS:0617 If table is created?
COMMIT WORK;
CREATE VIEW SUBQ1 AS
SELECT MIN (HOUR_IN) AS TOO_EARLY,
MAX (ALL START) AS LATEST
--0 , AVG (LUNCH) AS AVGLUNCH,
--0 AVG (DISTINCT LUNCH) AS D_AVGLUNCH,
--0 SUM (APPT) AS SUMAPPT
FROM TEMPS;
-- PASS:0617 If view is created?
COMMIT WORK;
INSERT INTO TEMPS VALUES (
TIMESTAMP( '1993-11-10 12:25:14'),
DATE( '1993-11-12'),
--0 INTERVAL '4' DAY,
TIME( '08:30:00'),
TIME( '16:30:00')
--0 , INTERVAL '1:00' HOUR TO MINUTE);
);
-- PASS:0617 If 1 row is inserted?
INSERT INTO TEMPS VALUES (
TIMESTAMP( '1993-11-10 13:15:14'),
DATE( '1993-11-15'),
--0 INTERVAL '5' DAY,
TIME( '08:30:00'),
TIME( '17:30:00')
--0 ,INTERVAL '0:30' HOUR TO MINUTE);
);
-- PASS:0617 If 1 row is inserted?
INSERT INTO TEMPS VALUES (
TIMESTAMP( '1993-11-17 09:56:48'),
DATE( '1994-11-18'),
--0 INTERVAL '3' DAY,
TIME( '09:00:00'),
TIME( '17:00:00')
--0 ,INTERVAL '1:00' HOUR TO MINUTE);
);
-- PASS:0617 If 1 row is inserted?
--0 SELECT COUNT(*)
--0 FROM TEMPS WHERE
--0 LUNCH < INTERVAL '1:00' HOUR TO MINUTE;
-- PASS:0617 If count = 1?
--0 SELECT COUNT(*)
--0 FROM TEMPS WHERE
--0 LUNCH <= INTERVAL '1:00' HOUR TO MINUTE;
-- PASS:0617 If count = 3?
SELECT COUNT(*)
FROM TEMPS WHERE
START <> DATE( '1993-11-15') AND
START <> DATE( '1993-11-12');
-- PASS:0617 If count = 1?
SELECT COUNT(*)
FROM TEMPS WHERE
START = DATE( '1993-11-15') OR
START = DATE( '1993-11-12');
-- PASS:0617 If count = 2?
SELECT COUNT(*)
FROM TEMPS WHERE
HOUR_OUT > TIME( '17:00:00');
-- PASS:0617 If count = 1?
SELECT COUNT(*)
FROM TEMPS WHERE
HOUR_OUT >= TIME( '17:00:00');
-- PASS:0617 If count = 2?
SELECT COUNT(*)
FROM TEMPS WHERE
ENTERED BETWEEN TIMESTAMP( '1993-11-10 00:00:00' )AND
TIMESTAMP( '1993-11-10 23:59:59');
-- PASS:0617 If count = 2?
--0 SELECT COUNT(*)
--0 FROM TEMPS WHERE
--0 HOUR_OUT IN
--0 (SELECT HOUR_IN + INTERVAL '8' HOUR FROM TEMPS);
-- PASS:0617 If count = 2?
--0 SELECT COUNT(*)
--0 FROM TEMPS WHERE
--0 (START, APPT) OVERLAPS
--0 (DATE( '1993-11-14'), INTERVAL '2' DAY);
-- PASS:0617 If count = 2?
--0 SELECT COUNT(*)
--0 FROM TEMPS WHERE
--0 HOUR_OUT = ANY
--0 (SELECT HOUR_IN + INTERVAL '8' HOUR FROM TEMPS);
-- PASS:0617 If count = 2?
SELECT COUNT(*)
FROM TEMPS WHERE
YEAR( ENTERED) <> SOME
(SELECT YEAR( START)
FROM TEMPS);
-- PASS:0617 If count = 3?
SELECT COUNT(*)
FROM TEMPS WHERE
YEAR( START) <> ALL
(SELECT YEAR( ENTERED)
FROM TEMPS);
-- PASS:0617 If count = 1?
SELECT HOUR( TOO_EARLY)
* 100 + MINUTE( TOO_EARLY)
FROM SUBQ1;
-- PASS:0617 If 1 row selected and value is 830?
SELECT YEAR( LATEST),
MONTH( LATEST) * 100 +
DAY( LATEST)
FROM SUBQ1;
-- PASS:0617 If 1 row selected and values are 1994, 1118?
--0 SELECT HOUR( AVGLUNCH)
--0 * 100 + MINUTE( AVGLUNCH)
--0 FROM SUBQ1;
-- PASS:0617 If 1 row selected and value is 49 or 50?
-- NOTE:0617 50 is better but 49 is acceptable.
--0 SELECT HOUR( D_AVGLUNCH)
--0 * 100 + MINUTE( D_AVGLUNCH)
--0 FROM SUBQ1;
-- PASS:0617 If 1 row selected and value is 45?
--0 SELECT DAY( SUMAPPT)
--0 FROM SUBQ1;
-- PASS:0617 If 1 row selected and value is 12?
--0 SELECT COUNT (DISTINCT LUNCH) FROM TEMPS;
-- PASS:0617 If count = 2?
ROLLBACK WORK;
--0 DROP TABLE TEMPS CASCADE;
DROP TABLE SUBQ1 ;
DROP TABLE TEMPS ;
-- PASS:0617 If table and view are dropped?
COMMIT WORK;
-- END TEST >>> 0617 <<< END TEST
-- *************************************************////END-OF-MODULE