icatalin

BD laborator 03.12.2018

Dec 3rd, 2018
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 2.84 KB | None | 0 0
  1. --lab 7
  2. --1 (de in
  3. CREATE TABLE emp_cpi AS
  4. SELECT * FROM employees;
  5.  
  6. CREATE TABLE dept_cpi AS
  7. SELECT * FROM departments;
  8.  
  9. --2
  10. DESC emp_cpi;
  11.  
  12. --4
  13. ALTER TABLE emp_cpi
  14. ADD CONSTRAINT pk_emp_cpi PRIMARY KEY(employee_id);
  15.  
  16. ALTER TABLE dept_cpi
  17. ADD CONSTRAINT pk_dept_cpi PRIMARY KEY(department_id);
  18.  
  19. ALTER TABLE emp_cpi
  20. ADD CONSTRAINT fk_emp_dept_cpi
  21.  FOREIGN KEY(department_id) REFERENCES dept_cpi(department_id);
  22.  
  23.  --5
  24.  INSERT INTO dept_cpi
  25. VALUES (300, ‘Programare’);
  26.  
  27. INSERT INTO dept_cpi (department_id, department_name)
  28.  VALUES (300, "Programare");
  29.  
  30.  INSERT INTO dept_cpi (department_name, department_id)
  31.  VALUES (300, "Programare");
  32.  
  33.  INSERT INTO dept_cpi (department_id, department_name, location_id)
  34.  VALUES (300, "Programare", NULL);
  35.  
  36.  INSERT INTO dept_cpi (department_name, location_id)
  37.  VALUES (‘Programare’, NULL);
  38.  
  39.  ROLLBACK;
  40.  
  41.  INSERT INTO dept_cpi (department_id, department_name, location_id)
  42.  VALUES (301, 'Programare', NULL);
  43.  ROLLBACK;
  44.  
  45.  --6
  46.  INSERT INTO emp_cpi
  47.  VALUES (250, 'Prenume', 'Nume', '[email protected]', NULL, sysdate, 'SA_REP', 15000, NULL, NULL, 300);
  48.  
  49.  --7
  50.   INSERT INTO emp_cpi (employee_id, last_name, email, hire_date, job_id, department_id)
  51.  VALUES (251, 'Nume', '[email protected]', sysdate, 'SA_REP', 301);
  52.  
  53.  --9
  54.  
  55.  CREATE TABLE emp1_cpi AS
  56.  SELECT * FROM employees;
  57.  
  58.  DELETE FROM emp1_cpi;
  59.  
  60.  --10
  61.  INSERT INTO emp1_cpi
  62.     SELECT * FROM employees
  63.     WHERE commission_pct > 0.25;
  64. commit;
  65.  
  66. --11?
  67. SELECT USER
  68. FROM dual;
  69.  
  70. INSERT INTO emp_cpi
  71.     SELECT 0, USER, USER, 'TOTAL', 'TOTAL', sysdate, 'TOTAL', SUM(salary), avg(commission_pct), NULL, NULL
  72.     FROM employees;
  73.    
  74. --12
  75. CREATE TABLE emp2_cpi AS
  76. SELECT * FROM employees;
  77.  
  78. CREATE TABLE emp3_cpi AS
  79. SELECT * FROM employees;
  80.  
  81. DELETE FROM emp2_cpi;
  82. commit;
  83.  
  84. INSERT ALL;
  85. WHEN salary < 5000 THEN INTO emp1_cpi
  86. WHEN salary > 5000 AND salary < 10000 THEN INTO emp2_cpi
  87. WHEN salary > 10000 THEN INTO emp3_cpi
  88. SELECT * FROM employees;
  89.  
  90. ROLLBACK;
  91.  
  92. --13
  93.  
  94.  
  95. --14
  96.  
  97. UPDATE emp_cpi
  98. SET salary = salary * 0.05;
  99. ROLLBACK;
  100.  
  101.  
  102. --15
  103. UPDATE emp_cpi
  104. SET job_id = 'SA_REP'
  105. WHERE department_id = 80 AND commission_pct IS NOT NULL;
  106.  
  107. --16
  108. UPDATE emp_cpi
  109. SET department_id = 20, salary = salary + 1000
  110. WHERE LOWER(first_name || ' ' || last_name) = 'douglas grant';
  111.  
  112. UPDATE emp_cpi
  113. SET manager_id = (
  114.     SELECT employee_id
  115.     FROM emp_cpi
  116.     WHERE LOWER(first_name || ' ' || last_name) = 'douglas grant' )
  117.   WHERE department_id = 20;
  118.  
  119. --17
  120. UPDATE emp_cpi e
  121. SET (salary, commission_pct) = (
  122.     SELECT salary, commission_pct
  123.     FROM emp_cpi
  124.     WHERE employee_id =  e.manager_id)
  125. WHERE employee_id = (
  126.     SELECT employee_id
  127.     FROM employees
  128.     WHERE salary > (
  129.         SELECT MIN(salary)
  130.         FROM employees) );
  131.        
  132. --23
  133. DELETE FROM emp_cpi
  134. WHERE commission_pct IS NULL;
  135. ROLLBACK;
Advertisement
Add Comment
Please, Sign In to add comment