| ij> -- |
| -- Licensed to the Apache Software Foundation (ASF) under one or more |
| -- contributor license agreements. See the NOTICE file distributed with |
| -- this work for additional information regarding copyright ownership. |
| -- The ASF licenses this file to You under the Apache License, Version 2.0 |
| -- (the "License"); you may not use this file except in compliance with |
| -- the License. You may obtain a copy of the License at |
| -- |
| -- http://www.apache.org/licenses/LICENSE-2.0 |
| -- |
| -- Unless required by applicable law or agreed to in writing, software |
| -- distributed under the License is distributed on an "AS IS" BASIS, |
| -- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| -- See the License for the specific language governing permissions and |
| -- limitations under the License. |
| -- |
| AUTOCOMMIT OFF; |
| ij> -- MODULE CDR027 |
| |
| -- SQL Test Suite, V6.0, Interactive SQL, cdr027.sql |
| -- 59-byte ID |
| -- TEd Version # |
| |
| -- AUTHORIZATION SUN |
| set schema SUN; |
| 0 rows inserted/updated/deleted |
| ij> --O SELECT USER FROM SUN.ECCO; |
| VALUES USER; |
| 1 |
| -------------------------------------------------------------------------------------------------------------------------------- |
| SUN |
| ij> -- RERUN if USER value does not match preceding AUTHORIZATION comment |
| |
| -- date_time print |
| |
| |
| -- TEST:0446 Table CHECK constraint allows unknown (NULL)! |
| |
| DELETE FROM STAFF5; |
| 1 row inserted/updated/deleted |
| ij> INSERT INTO STAFF5 VALUES('E7','Mimi',NULL,'Miami'); |
| 1 row inserted/updated/deleted |
| ij> -- PASS:0446 If 1 row inserted? |
| |
| INSERT INTO STAFF5 VALUES('E8','Joe',NULL,'Boston'); |
| 1 row inserted/updated/deleted |
| ij> -- PASS:0446 If 1 row inserted? |
| |
| INSERT INTO STAFF5(EMPNUM) VALUES('E9'); |
| 1 row inserted/updated/deleted |
| ij> -- PASS:0446 If 1 row inserted? |
| |
| --O UPDATE STAFF |
| UPDATE HU.STAFF |
| SET GRADE = NULL |
| WHERE EMPNUM = 'E1'; |
| 1 row inserted/updated/deleted |
| ij> -- PASS:0446 If 1 row updated? |
| |
| INSERT INTO STAFF5 |
| SELECT * |
| --O FROM STAFF; |
| FROM HU.STAFF; |
| 5 rows inserted/updated/deleted |
| ij> -- PASS:0446 If 5 rows inserted? |
| |
| UPDATE STAFF5 |
| SET GRADE = NULL |
| WHERE EMPNUM = 'E2'; |
| 1 row inserted/updated/deleted |
| ij> -- PASS:0446 If 1 row updated? |
| |
| UPDATE STAFF5 |
| SET GRADE = NULL |
| WHERE EMPNUM = 'E4'; |
| 1 row inserted/updated/deleted |
| ij> -- PASS:0446 If 1 row updated? |
| |
| SELECT COUNT(*) |
| FROM STAFF5; |
| 1 |
| ----------- |
| 8 |
| ij> -- PASS:0446 If count = 8? |
| |
| SELECT COUNT(*) |
| FROM STAFF5 |
| WHERE GRADE IS NULL; |
| 1 |
| ----------- |
| 6 |
| ij> -- PASS:0446 If count = 6? |
| |
| ROLLBACK WORK; |
| ij> -- END TEST >>> 0446 <<< END TEST |
| -- ********************************************* |
| |
| -- TEST:0447 NULLs with check constraint and check option! |
| |
| DELETE FROM STAFF6; |
| 1 row inserted/updated/deleted |
| ij> --O INSERT INTO STAFF6_WITH_GRADES |
| --O VALUES('X1','Vicki',NULL,'Houston'); |
| -- PASS:0447 If ERROR, view check constraint, 0 rows inserted? |
| |
| INSERT INTO STAFF6 |
| VALUES('X2','Tina',NULL,'Orlando'); |
| 1 row inserted/updated/deleted |
| ij> -- PASS:0447 If 1 row inserted? |
| |
| --O SELECT COUNT(*) |
| --O FROM STAFF6_WITH_GRADES; |
| -- PASS:0447 If count = 0? |
| |
| SELECT COUNT(*) |
| FROM STAFF6; |
| 1 |
| ----------- |
| 1 |
| ij> -- PASS:0447 If count = 1? |
| |
| SELECT EMPNAME |
| FROM STAFF6 |
| WHERE GRADE IS NULL; |
| EMPNAME |
| -------------------- |
| Tina |
| ij> -- PASS:0447 If EMPNAME is Tina? |
| |
| ROLLBACK WORK; |
| ij> -- END TEST >>> 0447 <<< END TEST |
| -- ********************************************* |
| |
| -- TEST:0448 PRIMARY KEY implies UNIQUE! |
| |
| DELETE FROM STAFF9; |
| 1 row inserted/updated/deleted |
| ij> INSERT INTO STAFF9(EMPNUM,EMPNAME) |
| VALUES('D1','Muddley'); |
| 1 row inserted/updated/deleted |
| ij> -- PASS:0448 If 1 row inserted? |
| |
| |
| INSERT INTO STAFF9(EMPNUM,EMPNAME) |
| VALUES('D1','Muddley'); |
| 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 'STAFF9_PK' defined on 'STAFF9'. |
| ij> -- PASS:0448 If ERROR, unique constraint, 0 rows inserted? |
| |
| INSERT INTO STAFF9(EMPNUM,EMPNAME) |
| VALUES('d1','Muddley'); |
| 1 row inserted/updated/deleted |
| ij> -- PASS:0448 If 1 row inserted? |
| |
| SELECT COUNT(*) |
| FROM STAFF9; |
| 1 |
| ----------- |
| 2 |
| ij> -- PASS:0448 If count = 2? |
| |
| ROLLBACK WORK; |
| ij> -- END TEST >>> 0448 <<< END TEST |
| -- ********************************************* |
| |
| -- TEST:0449 Constraint definition is case sensitive! |
| |
| DELETE FROM STAFF9; |
| 1 row inserted/updated/deleted |
| ij> INSERT INTO STAFF9(EMPNUM,EMPNAME) |
| VALUES('Z1','Tina'); |
| ERROR 23513: The check constraint 'STAFF9_EMPNAME' was violated while performing an INSERT or UPDATE on table '"SUN"."STAFF9"'. |
| ij> -- PASS:0449 If ERROR, check constraint, 0 rows inserted? |
| |
| INSERT INTO STAFF9(EMPNUM,EMPNAME) |
| VALUES('Z2','tina'); |
| 1 row inserted/updated/deleted |
| ij> -- PASS:0449 If 1 row inserted? |
| |
| INSERT INTO STAFF9(EMPNUM,EMPNAME) |
| VALUES('Z3','ANTHONY'); |
| 1 row inserted/updated/deleted |
| ij> -- PASS:0449 If 1 row inserted? |
| |
| SELECT COUNT(*) |
| FROM STAFF9; |
| 1 |
| ----------- |
| 2 |
| ij> -- PASS:0449 If count = 2? |
| |
| ROLLBACK WORK; |
| ij> -- END TEST >>> 0449 <<< END TEST |
| -- ********************************************* |
| |
| -- TEST:0450 Referential integrity is case sensitive! |
| |
| INSERT INTO DEPT |
| VALUES(11,'VOLLEYBALL','VICKI'); |
| 1 row inserted/updated/deleted |
| ij> -- PASS:0450 If 1 row inserted? |
| |
| INSERT INTO DEPT |
| VALUES(10,'volleyball','vicki'); |
| 1 row inserted/updated/deleted |
| ij> -- PASS:0450 If 1 row inserted? |
| -- NOTE:0450 insert lower case value of above. |
| |
| SELECT COUNT(*) FROM DEPT WHERE DNO = 10; |
| 1 |
| ----------- |
| 1 |
| ij> -- PASS:0450 If count = 1? |
| |
| --O INSERT INTO EMP |
| --O VALUES(13,'MARY','Dancer',15,'VOLLEYBALL',010101); |
| -- PASS:0450 If 1 row inserted? |
| |
| DELETE FROM DEPT |
| WHERE DNO = 10; |
| 1 row inserted/updated/deleted |
| ij> -- PASS:0450 If 1 row deleted? |
| |
| --O UPDATE DEPT |
| --O SET DNAME = 'EDUCATION' |
| --O WHERE DNAME = 'Education'; |
| -- PASS:0450 If RI ERROR, children exist, 0 rows updated? |
| |
| --O SELECT * FROM DEPT ORDER BY DNO; |
| -- PASS:0450 If 5 rows selected? |
| -- PASS:0450 If DNO values are 11, 12, 13, 14, 15? |
| -- PASS:0450 If DNAME = 'Education' (not 'EDUCATION') for DNO = 14? |
| |
| --O INSERT INTO EMP |
| --O VALUES(28,'BARBARA','Jogger',14,'EDUCATION',010101); |
| -- PASS:0450 If RI ERROR, parent missing, 0 rows inserted? |
| |
| --O UPDATE EMP |
| --O SET DNAME = 'PHYSICS' |
| --O WHERE ENO = 25; |
| -- PASS:0450 If RI ERROR, parent missing, 0 rows updated? |
| |
| --O SELECT ENO, ENAME, DNO, DNAME |
| --O FROM EMP ORDER BY ENO; |
| -- PASS:0450 If 8 rows selected? |
| -- PASS:0450 If ENO values are 13, 21 through 27? |
| -- PASS:0450 If DNAME = 'Physics' (not 'PHYSICS') for ENO = 25? |
| |
| ROLLBACK WORK; |
| ij> -- END TEST >>> 0450 <<< END TEST |
| |
| -- *************************************************////END-OF-MODULE |
| ; |
| ij> |