⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dml147.sql

📁 derby database source code.good for you.
💻 SQL
字号:
AUTOCOMMIT OFF;-- MODULE  DML147  -- SQL Test Suite, V6.0, Interactive SQL, dml147.sql-- 59-byte ID-- TEd Version #-- AUTHORIZATION FLATER            --O   SELECT USER FROM HU.ECCO;  VALUES USER;-- RERUN if USER value does not match preceding AUTHORIZATION comment--O   ROLLBACK WORK;-- date_time print-- TEST:0840 Roll back schema manipulation !   CREATE TABLE NOT_THERE (C1 CHAR (10));-- PASS:0840 If table is created?   ROLLBACK WORK;   INSERT INTO NOT_THERE VALUES ('1234567890');-- PASS:0840 If ERROR, syntax error/access violation, 0 rows selected?   ROLLBACK WORK;   CREATE VIEW NOT_HERE AS      SELECT * FROM USIG;-- PASS:0840 If view is created?   ROLLBACK WORK;   SELECT COUNT (*) FROM NOT_HERE;-- PASS:0840 If ERROR, syntax error/access violation, 0 rows selected?   ROLLBACK WORK;  ALTER TABLE USIG  ADD COLUMN NUL INT;-- PASS:0840 If column is added?   ROLLBACK WORK;  SELECT COUNT (*)  FROM USIG WHERE NUL IS NULL;-- PASS:0840 If ERROR, syntax error/access violation, 0 rows selected?   ROLLBACK WORK;--O   DROP TABLE USIG CASCADE;   DROP TABLE USIG ;-- PASS:0840 If table is dropped?   ROLLBACK WORK;  SELECT COUNT(*)  FROM U_SIG;-- PASS:0840 If count = 2?   ROLLBACK WORK;  SELECT COUNT(*)  FROM USIG;-- PASS:0840 If count = 2?   ROLLBACK WORK;-- END TEST >>> 0840 <<< END TEST-- *********************************************-- TEST:0841 Multiple-join and default order of joins !-- setup   DELETE FROM HU.STAFF4;   INSERT INTO HU.STAFF4      SELECT * FROM HU.STAFF3         WHERE EMPNUM > 'E3';--O   SELECT EMPNUM FROM   SELECT a.EMPNUM FROM--O      HU.STAFF3 NATURAL LEFT JOIN HU.STAFF NATURAL INNER JOIN HU.STAFF4      HU.STAFF3 a, HU.staff b, HU.staff4 c 	where a.empnum = b.empnum and b.empnum = c.empnum      ORDER BY EMPNUM DESC;-- PASS:0841 If 2 rows selected?-- PASS:0841 If ordered EMPNUM values are: E5, E4 ?--O   SELECT EMPNUM FROM--O      (HU.STAFF3 NATURAL LEFT JOIN HU.STAFF) NATURAL INNER JOIN HU.STAFF4--O       ORDER BY EMPNUM ASC;-- PASS:0841 If 2 rows selected?-- PASS:0841 If ordered EMPNUM values are: E4, E5 ?--O   SELECT EMPNUM FROM--O      HU.STAFF3 NATURAL LEFT JOIN (HU.STAFF NATURAL INNER JOIN HU.STAFF4)--O      ORDER BY EMPNUM;--O      ;-- PASS:0841 If 5 rows selected?-- PASS:0841 If ordered EMPNUM values are: E1, E2, E3, E4, E5 ?   ROLLBACK WORK;-- END TEST >>> 0841 <<< END TEST-- *********************************************-- TEST:0842 Multi-column joins !-- setup   CREATE TABLE STAFF66 (     SALARY   INTEGER,     EMPNAME CHAR(20),     GRADE   DECIMAL,     EMPNUM  CHAR(3));   COMMIT WORK;-- setup   INSERT INTO STAFF66      SELECT GRADE*1000, EMPNAME, GRADE, EMPNUM         FROM HU.STAFF3 WHERE EMPNUM > 'E2';-- PASS:0842 If 3 rows inserted ?   UPDATE HU.STAFF3 SET EMPNUM = 'E6' WHERE EMPNUM = 'E5';-- PASS:0842 If 1 row updated ?   UPDATE HU.STAFF3 SET EMPNAME = 'Ali' WHERE GRADE = 12;-- PASS:0842 If 2 rows updated ?-- FULL OUTER JOIN of tables with unique data in the joined column--O   SELECT EMPNUM, CITY, SALARY--O      FROM HU.STAFF3 LEFT JOIN STAFF66 USING (EMPNUM)--O   UNION--O   SELECT EMPNUM, CITY, SALARY--O      FROM HU.STAFF3 RIGHT JOIN STAFF66 USING (EMPNUM)--O      ORDER BY EMPNUM;-- PASS:0842 If 6 rows selected with ordered rows and column values ?-- PASS:0842    E1   Deale   NULL   ?-- PASS:0842    E2   Vienna  NULL   ?-- PASS:0842    E3   Vienna  13000  ?-- PASS:0842    E4   Deale   12000  ?-- PASS:0842    E5   NULL    13000  ?-- PASS:0842    E6   Akron   NULL   ?-- 7.5 SR 6 d-- table STAFF66 has 3 rows, only 1 matching on all columns-- this is a 3-column join:   SELECT * FROM--O      STAFF66 NATURAL INNER JOIN HU.STAFF3;      STAFF66 a, HU.staff3 b where a.empnum = b.empnum	and a.grade = b.grade	and a.empname = b.empname;-- PASS:0842 If 1 row selected?-- PASS:0842 If column values are in the exact order: ?-- PASS:0842 EMPNAME=Carmen,GRADE=13,EMPNUM=E3,SALARY=13000,CITY=Vienna?-- table STAFF66 has 3 rows, only 1 matching on all columns-- this is a 3-column join, preserving HU.STAFF3:--O   SELECT EMPNUM, EMPNAME, SALARY FROM--O      HU.STAFF3 NATURAL LEFT OUTER JOIN STAFF66--O      WHERE EMPNUM > 'E1'--O      ORDER BY EMPNUM ASC;-- PASS:0842 If 4 rows selected with ordered rows and column values ?-- PASS:0842    E2   Betty    NULL  ?-- PASS:0842    E3   Carmen   13000 ?-- PASS:0842    E4   Ali      NULL  ?-- PASS:0842    E6   Ed       NULL  ?-- table HU.STAFF has 5 rows, only 3 matching on all columns-- this is a 3-column join, preserving HU.STAFF:--O   SELECT EMPNUM, EMPNAME, SALARY FROM--O      STAFF66 NATURAL RIGHT OUTER JOIN HU.STAFF--O      WHERE EMPNUM > 'E1'--O      ORDER BY EMPNUM DESC;-- PASS:0842 If 4 rows selected with ordered rows and column values ?-- PASS:0842    E5  Ed      13000  ?-- PASS:0842    E4  Don     12000  ?-- PASS:0842    E3  Carmen  13000  ?-- PASS:0842    E2  Betty   NULL   ?-- table HU.STAFF has 5 rows, only 3 matching on all columns-- ordinal position is determined by order in T1, not USING list-- REF:  7.5 SR 6 d-- this is a 3-column join, preserving HU.STAFF:--O   SELECT * FROM--O      STAFF66 RIGHT JOIN HU.STAFF USING ( GRADE, EMPNUM, EMPNAME)--O      WHERE EMPNUM > 'E1'--O      ORDER BY EMPNUM;-- PASS:0842 If 4 rows selected with ordered rows and column values ?-- PASS:0842    Betty    10   E2   NULL    Vienna ?-- PASS:0842    Carmen   13   E3   13000   Vienna ?-- PASS:0842    Don      12   E4   12000   Deale  ?-- PASS:0842    Ed       13   E5   13000   Akron  ?-- table STAFF66 has 3 rows, with 2 matching on named columns-- this is a 2-column join, preserving HU.STAFF3:--O   SELECT * FROM--O      HU.STAFF3 LEFT JOIN STAFF66 USING (GRADE, EMPNUM)--O      WHERE EMPNUM > 'E1'--O      ORDER BY EMPNUM ASC;-- PASS:0842 If 4 rows selected with ordered rows and column values ?-- PASS:0842    E2  10  Betty   Vienna    NULL    NULL   ?-- PASS:0842    E3  13  Carmen  Vienna    13000   Carmen ?-- PASS:0842    E4  12  Ali     Deale     12000   Don    ?-- PASS:0842    E6  13  Ed      Akron     NULL    NULL   ?-- similar to above, except for explicit names of columns--O   SELECT staff3.EMPNUM, staff3.GRADE, HU.STAFF3.EMPNAME, CITY,   SELECT HU.staff3.EMPNUM, HU.staff3.GRADE, HU.STAFF3.EMPNAME, CITY,     SALARY, STAFF66.EMPNAME FROM--O      HU.STAFF3 LEFT JOIN STAFF66 USING (GRADE, EMPNUM)--O      WHERE EMPNUM = 'E3';      HU.STAFF3, STAFF66 where HU.staff3.GRADE = staff66.grade and  HU.staff3.EMPNUM = staff66.empnum      and HU.staff3.EMPNUM = 'E3';-- PASS:0842 If 1 row selected with ordered column values?-- PASS:0842    E3  13  Carmen  Vienna  13000  Carmen    ?-- REF: 7.5 GR 1 d ii-- this is a cartesian product--O   SELECT COUNT (*) FROM STAFF66 NATURAL RIGHT JOIN HU.PROJ;   SELECT count (*) FROM STAFF66 , HU.PROJ;-- PASS:0842 If count = 18?   ROLLBACK WORK;--O   DROP TABLE STAFF66 CASCADE;   DROP TABLE STAFF66 ;   COMMIT WORK;-- END TEST >>> 0842 <<< END TEST-- *************************************************////END-OF-MODULE

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -