File: dml114.sql

package info (click to toggle)
derby 10.14.2.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye
  • size: 78,896 kB
  • sloc: java: 691,930; sql: 42,686; xml: 20,511; sh: 3,373; sed: 96; makefile: 60
file content (263 lines) | stat: -rw-r--r-- 6,711 bytes parent folder | download | duplicates (4)
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
AUTOCOMMIT OFF;

-- MODULE  DML114  

-- SQL Test Suite, V6.0, Interactive SQL, dml114.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:0635 Feature 13, grouped operations (static)!

  CREATE VIEW WORKWEEK AS
  SELECT EMPNUM, HOURS FROM HU.WORKS
  GROUP BY HOURS, EMPNUM;
-- PASS:0635 If table is created?

   COMMIT WORK;

  SELECT EMPNUM, SUM (HOURS)
  FROM WORKWEEK
  WHERE HOURS > 20
  GROUP BY EMPNUM
  HAVING EMPNUM = 'E1';
-- PASS:0635 If 1 row selected and EMPNUM = 'E1' and SUM(HOURS) = 120?

   SELECT COUNT(*)
  FROM WORKWEEK WHERE HOURS > 40;
-- PASS:0635 If count = 3?

   SELECT EMPNAME
  FROM HU.STAFF, WORKWEEK
  WHERE HU.STAFF.EMPNUM = WORKWEEK.EMPNUM
  AND HOURS = 12;
-- PASS:0635 If 1 row selected and EMPNAME = 'Alice'?

   SELECT COUNT(*), MAX(EMPNUM), MIN(EMPNUM), AVG(HOURS)
  FROM WORKWEEK;
-- PASS:0635 If 1 row selected and count = 10 and MAX(EMPNUM) = 'E4'?
-- PASS:0635 AND MIN(EMPNUM) = 'E1' and AVG(HOURS) = 43 (approximately)?

   SELECT EMPNAME
  FROM HU.STAFF WHERE EMPNUM =
  (SELECT EMPNUM FROM WORKWEEK
    WHERE HOURS = 12);
-- PASS:0635 If 1 row selected and EMPNAME = 'Alice'?

   SELECT EMPNAME
  FROM HU.STAFF WHERE EMPNUM =
  (SELECT EMPNUM FROM HU.WORKS
    GROUP BY EMPNUM, HOURS
    HAVING HOURS = 12);
-- PASS:0635 If 1 row selected and EMPNAME = 'Alice'?

-- NOTE:0635 Cursor subtest deleted.

   COMMIT WORK;

--0   DROP VIEW WORKWEEK CASCADE;
   DROP VIEW WORKWEEK ;

   COMMIT WORK;

-- END TEST >>> 0635 <<< END TEST

-- *********************************************

-- TEST:0637 Feature 14, Qualified * in select list (static)!

   CREATE VIEW QUALSTAR AS
  SELECT HU.STAFF.*, HOURS FROM HU.STAFF, HU.WORKS
  WHERE HU.STAFF.EMPNUM = HU.WORKS.EMPNUM;
-- PASS:0637 If view is created?

   COMMIT WORK;

   CREATE VIEW CORRQUALSTAR AS
  SELECT BLAH.*, HOURS FROM HU.STAFF BLAH, HU.WORKS
  WHERE BLAH.EMPNUM = HU.WORKS.EMPNUM;
-- PASS:0637 If view is created?

   COMMIT WORK;

   CREATE VIEW SUBQ2 AS
  SELECT DISTINCT * FROM QUALSTAR;
-- PASS:0637 If view is created?

   COMMIT WORK;

   CREATE VIEW CORRSUBQ2 AS
  SELECT DISTINCT * FROM CORRQUALSTAR;
-- PASS:0637 If view is created?

   COMMIT WORK;

   SELECT COUNT(*) FROM QUALSTAR;
-- PASS:0637 If count = 12?

   SELECT COUNT(*) FROM SUBQ2;
-- PASS:0637 If count = 10?

   SELECT EMPNUM, GRADE, CITY, HOURS
  FROM QUALSTAR WHERE EMPNAME = 'Carmen';
-- PASS:0637 If 1 row selected and EMPNUM = 'E3' and GRADE = 13?
-- PASS:0637 AND CITY = 'Vienna' and HOURS = 20?

-- NOTE:0637 Cursor subtest deleted.

   SELECT HU.STAFF.*, HOURS
  FROM HU.STAFF, HU.WORKS
  WHERE HU.STAFF.EMPNUM = HU.WORKS.EMPNUM
  AND EMPNAME = 'Carmen';
-- PASS:0637 If 1 row selected and EMPNUM = 'E3' and EMPNAME = 'Carmen'?
-- PASS:0637 AND GRADE = 13 and CITY = 'Vienna' and HOURS = 20?

   SELECT COUNT(*) FROM CORRQUALSTAR;
-- PASS:0637 If count = 12?

   SELECT COUNT(*) FROM CORRSUBQ2;
-- PASS:0637 If count = 10?

   SELECT EMPNUM, GRADE, CITY, HOURS
  FROM CORRQUALSTAR WHERE EMPNAME = 'Carmen';
-- PASS:0637 If 1 row selected and EMPNUM = 'E3'?
-- PASS:0637 AND GRADE = 13 and CITY = 'Vienna' and HOURS = 20?

   COMMIT WORK;

--0   DROP VIEW QUALSTAR CASCADE;
   DROP VIEW SUBQ2 ;
   DROP VIEW QUALSTAR ;

   COMMIT WORK;

--0   DROP VIEW CORRQUALSTAR CASCADE;
   DROP VIEW CORRSUBQ2 ;
   DROP VIEW CORRQUALSTAR ;

   COMMIT WORK;

-- END TEST >>> 0637 <<< END TEST

-- *********************************************

-- TEST:0639 Feature 15, Lowercase Identifiers (static)!

  create view Staff (Empnum, empname, Grade, City) as
  select empnum, EMPNAME, Grade, cItY from Hu.Staff;
-- PASS:0639 If view is created?

  commit work;

   SELECT EMPNUM as WhatsHisNumber, GRADE, CITY
  FROM Flater.staff FLaterStaff_Flater
  WHERE EMPNAME = 'Carmen'
--0 SQL92 does not scope renames into the query, just outside it -- ALC
--0  AND FLATERstaff_fLATER.whatshisnumber = 'E3';
  AND FLATERstaff_fLATER.empnum = 'E3';
-- PASS:0639 If 1 row selected and EMPNUM = 'E3'?
-- PASS:0639 AND GRADE = 13 and CITY = 'Vienna'?

-- NOTE:0639 Cursor subtest deleted.

   COMMIT WORK;

--0   DROP VIEW STAFF CASCADE;
   DROP VIEW STAFF ;

   COMMIT WORK;

-- END TEST >>> 0639 <<< END TEST

-- *********************************************

-- TEST:0641 Feature 16, PRIMARY KEY enhancement (static)!

   CREATE TABLE FEAT16 (
  EMPNUM INT NOT NULL CONSTRAINT FEAT16_PK PRIMARY KEY,
  PNUM   INT  NOT NULL CONSTRAINT FEAT16_PNUM UNIQUE);
-- PASS:0641 If view is created?

   COMMIT WORK;

   CREATE TABLE BARNO (
  P1 INT NOT NULL, P2 CHAR NOT NULL, X1 INT NOT NULL, X2 CHAR NOT NULL,
  CONSTRAINT BARNO_UNIQUE UNIQUE (X2, X1),
  CONSTRAINT BARNO_PK PRIMARY KEY (P1, P2));
-- PASS:0641 If view is created?

   COMMIT WORK;

   INSERT INTO FEAT16 VALUES (1, 10);
-- PASS:0641 If 1 row is inserted?

   INSERT INTO FEAT16 VALUES (2, 20);
-- PASS:0641 If 1 row is inserted?

   INSERT INTO FEAT16 VALUES (1, 30);
-- PASS:0641 If ERROR, unique constraint, 0 rows inserted?

   INSERT INTO FEAT16 VALUES (3, 20);
-- PASS:0641 If ERROR, unique constraint, 0 rows inserted?

   INSERT INTO FEAT16 VALUES (3, NULL);
-- PASS:0641 If 1 row is inserted?

   INSERT INTO FEAT16 VALUES (4, NULL);
-- PASS:0641 If 1 row is inserted?

   INSERT INTO FEAT16 VALUES (5, NULL);
-- PASS:0641 If 1 row is inserted?

   INSERT INTO BARNO VALUES (1, 'A', 10, 'a');
-- PASS:0641 If 1 row is inserted?

   INSERT INTO BARNO VALUES (2, 'A', 20, 'a');
-- PASS:0641 If 1 row is inserted?

   INSERT INTO BARNO VALUES (1, 'A', 30, 'a');
-- PASS:0641 If ERROR, unique constraint, 0 rows inserted?

   INSERT INTO BARNO VALUES (3, 'A', 20, 'a');
-- PASS:0641 If ERROR, unique constraint, 0 rows inserted?

   INSERT INTO BARNO VALUES (3, NULL, 30, 'a');
-- PASS:0641 If ERROR, PRIMARY KEY constraint, 0 rows inserted?
-- PASS:0641 OR ERROR, NOT NULL constraint, 0 rows inserted?

   INSERT INTO BARNO VALUES (3, NULL, 30, 'b');
-- PASS:0641 If ERROR, PRIMARY KEY constraint, 0 rows inserted?
-- PASS:0641 OR ERROR, NOT NULL constraint, 0 rows inserted?

   INSERT INTO BARNO VALUES (3, 'A', 30, NULL);
-- PASS:0641 If 1 row is inserted?

   INSERT INTO BARNO VALUES (3, 'B', 30, NULL);
-- PASS:0641 If 1 row is inserted?

   INSERT INTO BARNO VALUES (4, 'B', NULL, NULL);
-- PASS:0641 If 1 row is inserted?

   COMMIT WORK;

--0   DROP TABLE FEAT16 CASCADE;
   DROP TABLE FEAT16 ;

   COMMIT WORK;

--0   DROP TABLE BARNO CASCADE;
   DROP TABLE BARNO ;

   COMMIT WORK;

-- END TEST >>> 0641 <<< END TEST
-- *************************************************////END-OF-MODULE