Advertisement
Guest User

13112019_MS_bazy_danych

a guest
Nov 13th, 2019
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --1
  2. BEGIN RegenerateTables; END;
  3. /
  4.  
  5. --2
  6. INSERT INTO departments (dep_id, name, location)
  7. VALUES(100, 'Zamówienia', 'Pokój 225');
  8.  
  9. --3
  10. CREATE TABLE EMP_COPY
  11. (
  12.   EMP_ID      INTEGER,
  13.   FIRST_NAME  VARCHAR2(20 BYTE)             NOT NULL,
  14.   LAST_NAME   VARCHAR2(30 BYTE)             NOT NULL,
  15.   HIRE_DATE   DATE  DEFAULT SYSDATE         NOT NULL,
  16.   SALARY      NUMBER(7,2)                   NOT NULL,
  17.   ALLOWANCE   NUMBER(7,2),
  18.   MANAGER_ID  INTEGER,
  19.   DEP_ID      INTEGER,
  20.   CONSTRAINT PK_EMP_COPY_ID PRIMARY KEY (EMP_ID),
  21.   CONSTRAINT FK_EMP_COPY_MANAGER_ID FOREIGN KEY (MANAGER_ID) REFERENCES EMP_COPY (EMP_ID),
  22.   CONSTRAINT FK_EMP_COPY_DEP_ID FOREIGN KEY (DEP_ID) REFERENCES DEPARTMENTS (DEP_ID)
  23. );
  24.  
  25. --4
  26. INSERT INTO emp_copy (emp_id, first_name, last_name, hire_date, SALARY, ALLOWANCE, MANAGER_ID, DEP_ID)
  27. VALUES(1, 'Johnny', 'Kopytko', TRUNC(SYSDATE), 1000, 400, NULL, 100);
  28.  
  29. --5
  30. INSERT INTO emp_copy
  31. VALUES(2, 'Filip', 'Tiruriru', TRUNC(SYSDATE), 2100, 500, 1, 100);
  32. INSERT INTO emp_copy
  33. VALUES(3, 'Szczepania', 'Kowalska', TRUNC(SYSDATE), 2500, 500, 1, 100);
  34.  
  35. --6
  36. COMMIT;
  37.  
  38. --7
  39. INSERT INTO emp_copy
  40. (SELECT emp_id, first_name, last_name, hire_date, salary, allowance, manager_id, dep_id
  41. FROM employees
  42. WHERE dep_id IN (10, 20, 30));
  43.  
  44. --8
  45. COMMIT;
  46.  
  47. --9
  48. UPDATE emp_copy
  49. SET manager_id = 100
  50. WHERE last_name = 'Kopytko';
  51.  
  52. --10
  53. UPDATE emp_copy
  54. SET last_name = 'Johnson'
  55. WHERE emp_id = 100;
  56.  
  57. --11
  58. UPDATE emp_copy
  59. SET allowance=NULL
  60. WHERE dep_id = 20 OR dep_id = 30;
  61.  
  62. --12
  63. UPDATE emp_copy
  64. SET salary=6000
  65. WHERE salary BETWEEN 5000 AND 6000;
  66.  
  67. --13
  68. DELETE FROM emp_copy
  69. WHERE last_name='Blake';
  70.  
  71. --14
  72. UPDATE emp_copy
  73. SET dep_id=(SELECT dep_id FROM emp_copy WHERE last_name='Kopytko')
  74. WHERE first_name='Anne' AND last_name='Taylor';
  75.  
  76. --15
  77. COMMIT;
  78.  
  79. --16
  80. DELETE FROM emp_copy
  81. WHERE dep_id=20;
  82.  
  83. --17
  84. SAVEPOINT A;
  85.  
  86. --18
  87. DELETE FROM emp_copy
  88. WHERE dep_id=30;
  89.  
  90. --19
  91. SAVEPOINT B;
  92.  
  93. --20
  94. DELETE FROM emp_copy;
  95.  
  96. --21
  97. ROLLBACK TO B;
  98.  
  99. --22
  100. ROLLBACK TO A;
  101.  
  102. ---------------------------------- DDL -----------------------------------------
  103. --1
  104. DROP TABLE dept;
  105.  
  106.  
  107. CREATE TABLE DEPT
  108. (DEPT_ID NUMBER(3),
  109. NAME VARCHAR2(30),
  110. LOCATION VARCHAR2(30)
  111. );
  112.  
  113. --2
  114. INSERT INTO dept
  115. (SELECT * FROM departments);
  116.  
  117. --3
  118. ALTER TABLE DEPT
  119. ADD (phone CHAR(20) DEFAULT 'BRAK');
  120. UPDATE dept
  121. SET phone=0700
  122. WHERE dept_id=30;
  123.  
  124. --4
  125. RENAME dept TO DEPART;
  126.  
  127. --5
  128. TRUNCATE TABLE depart;
  129.  
  130. --6
  131. DROP TABLE depart;
  132.  
  133. --7
  134. CREATE TABLE EMPL
  135. AS SELECT emp_id, first_name, last_name, (salary+NVL(allowance,0)) AS "pay", (SELECT name
  136. FROM departments
  137. WHERE dep_id=outer.dep_id) AS "DEP_NAME"
  138. FROM employees outer;
  139.  
  140. --8
  141. ALTER TABLE emp1
  142. MODIFY(last_name VARCHAR2(50));
  143.  
  144. --9
  145. ALTER TABLE emp1
  146. DROP COLUMN first_name;
  147.  
  148. --10
  149. DROP TABLE emp1;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement