CLASS EXERCISE, CHAPTER 9 DATA MANIPULATION with CONSTRAINTS

Total Page:16

File Type:pdf, Size:1020Kb

CLASS EXERCISE, CHAPTER 9 DATA MANIPULATION with CONSTRAINTS

CLASS EXERCISE, CHAPTER 9 == DATA MANIPULATION with CONSTRAINTS

SQL> SET PAGESIZE 200

SQL> INSERT INTO depart (Dept#, Dname) 2 SELECT department_id, department_name 3 FROM departments 4* WHERE location_id = 1700 SQL> /

3 rows created.

SQL> commit;

Commit complete.

SQL> SELECT * FROM depart;

DEPT# DNAME CITY ------10 Administration 90 Executive 190 Contracting

SQL> SELECT * FROM locations 2 WHERE location_id IN (SELECT location_id 3 FROM departments );

LOCATION_ID STREET_ADDRESS POSTAL_CODE ------CITY STATE_PROVINCE CO ------1400 2014 Jabberwocky Rd 26192 Southlake Texas US

1500 2011 Interiors Blvd 99236 South San Francisco California US

1700 2004 Charade Rd 98199 Seattle Washington US

1800 147 Spadina Ave M5V 2L7 Toronto Ontario CA

2500 Magdalen Centre, The Oxford Science Park OX9 9ZB Oxford Oxford UK

SQL> UPDATE depart 2 SET City = 'Seattle';

3 rows updated.

SQL> SELECT * FROM depart;

DEPT# DNAME CITY ------10 Administration Seattle 90 Executive Seattle 190 Contracting Seattle

SQL> INSERT INTO depart (Dept#, Dname) 2 SELECT department_id, department_name 3 FROM departments 4 WHERE location_id = 1400;

1 row created.

SQL> UPDATE depart 2 SET City = 'Southlake' 3 WHERE City IS NULL;

1 row updated.

SQL> INSERT INTO depart (Dept#, Dname) 2 SELECT department_id, department_name 3 FROM departments 4 WHERE location_id = 1500;

1 row created.

SQL> UPDATE depart 2 SET City = 'South San Francisco' 3* WHERE City IS NULL ;

1 row updated.

SQL> INSERT INTO depart (Dept#, Dname) 2 SELECT department_id, department_name 3 FROM departments 4 WHERE location_id = 1800;

1 row created.

SQL> UPDATE depart 2 SET City = 'Toronto' 3* WHERE City IS NULL ;

1 row updated. SQL> commit;

Commit complete.

SQL> SELECT * FROM depart;

DEPT# DNAME CITY ------10 Administration Seattle 90 Executive Seattle 190 Contracting Seattle 20 Marketing Toronto 60 IT Southlake 50 Shipping South San Francisco

6 rows selected.

SQL> SELECT * FROM departments;

DEPARTMENT_ID DEPARTMENT_NAME MANAGER_ID LOCATION_ID ------10 Administration 200 1700 20 Marketing 201 1800 50 Shipping 124 1500 60 IT 103 1400 80 Sales 149 2500 90 Executive 100 1700 110 Accounting 205 190 Contracting 1700

8 rows selected.

SQL> DESC employees Name Null? Type ------EMPLOYEE_ID NOT NULL NUMBER(6) FIRST_NAME VARCHAR2(20) LAST_NAME NOT NULL VARCHAR2(25) EMAIL NOT NULL VARCHAR2(25) PHONE_NUMBER VARCHAR2(20) HIRE_DATE NOT NULL DATE JOB_ID NOT NULL VARCHAR2(10) SALARY NUMBER(8,2) COMMISSION_PCT NUMBER(2,2) MANAGER_ID NUMBER(6) DEPARTMENT_ID NUMBER(4)

SQL> DESC empl Name Null? Type ------EMP# NOT NULL NUMBER(7) LNAME NOT NULL VARCHAR2(20) FNAME NOT NULL VARCHAR2(20) PAY NOT NULL NUMBER(7,2) SDATE NOT NULL DATE JOB VARCHAR2(15) DEPT# NOT NULL NUMBER(4)

SQL> INSERT INTO empl 2 SELECT employee_id, last_name, first_name, salary, hire_date, job_id, department_id 3 FROM employees 4 WHERE department_id NOT IN (80,110);

14 rows created.

SQL> COMMIT; Commit complete.

SQL> DESC cust Name Null? Type ------CUST# NOT NULL NUMBER(6) CUSTNAME NOT NULL VARCHAR2(30) CITY NOT NULL VARCHAR2(20) RATING CHAR(1) COMMENTS VARCHAR2(200) SALESREP# NUMBER(7)

SQL> INSERT INTO cust VALUES ( 2 501, 'ABC LTD.','Montreal','C',null,174); INSERT INTO cust VALUES ( * ERROR at line 1: ORA-02291: integrity constraint (OA301A40.CUST_SALESREP#_FK) violated - parent key not found

SQL> INSERT INTO cust VALUES ( 2* 501, 'ABC LTD.','Montreal','C',null,149); INSERT INTO cust VALUES ( * ERROR at line 1: ORA-02291: integrity constraint (OA301A40.CUST_SALESREP#_FK) violated - parent key not found

SQL> INSERT INTO cust VALUES ( 2* 501, 'ABC LTD.','Montreal','C',null,201)

1 row created.

SQL> INSERT INTO cust VALUES ( 2 502,'Black Giant','Ottawa','B',null,202);

1 row created. SQL> INSERT INTO cust VALUES ( 2* 503,'Mother Goose','London','B',null,202) SQL> /

1 row created.

SQL> COMMIT;

Commit complete.

SQL> DELETE FROM empl WHERE emp# = 202;

DELETE FROM empl * ERROR at line 1: ORA-02245: integrity constraint (OA301A40.CUST_SALESREP#_FK) violated – child records found

SQL> SELECT * FROM depart;

DEPT# DNAME CITY ------10 Administration Seattle 90 Executive Seattle 190 Contracting Seattle 20 Marketing Toronto 60 IT Southlake 50 Shipping South San Francisco

6 rows selected.

SQL> SELECT * FROM empl;

EMP# LNAME FNAME PAY SDATE ------JOB DEPT# ------100 King Steven 24000 17-JUN-87 AD_PRES 90

101 Kochhar Neena 17000 21-SEP-89 AD_VP 90

102 De Haan Lex 17000 13-JAN-93 AD_VP 90

103 Hunold Alexander 9000 03-JAN-90 IT_PROG 60

104 Ernst Bruce 6000 21-MAY-91 IT_PROG 60

107 Lorentz Diana 4200 07-FEB-99 IT_PROG 60

124 Mourgos Kevin 5800 16-NOV-99 ST_MAN 50

141 Rajs Trenna 3500 17-OCT-95 ST_CLERK 50

142 Davies Curtis 3100 29-JAN-97 ST_CLERK 50

143 Matos Randall 2600 15-MAR-98 ST_CLERK 50

144 Vargas Peter 2500 09-JUL-98 ST_CLERK 50

200 Whalen Jennifer 4400 17-SEP-87 AD_ASST 10

201 Hartstein Michael 13000 17-FEB-96 MK_MAN 20

202 Fay Pat 6000 17-AUG-97 MK_REP 20

14 rows selected.

SQL> SELECT * FROM cust;

CUST# CUSTNAME CITY R ------COMMENTS SALESREP# ------

501 ABC LTD. Montreal C

201

502 Black Giant Ottawa B

202

503 Mother Goose London B

202

Recommended publications