Advertisement
Guest User

zpusob 1

a guest
Apr 19th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 2.54 KB | None | 0 0
  1. INSERT INTO OBJ_EMPLOYEES (employee_id, first_name, last_name, email, phone_number, hire_date, job_id, salary, commission_pct)
  2.   SELECT employee_id, first_name, last_name, email, phone_number, hire_date, job_id, salary, commission_pct FROM EMPLOYEES;
  3.  
  4. INSERT INTO OBJ_DEPARTMENTS (department_id, department_name)
  5.   SELECT department_id, department_name FROM DEPARTMENTS;
  6.  
  7. UPDATE OBJ_EMPLOYEES obj_emp
  8.   SET obj_emp.manager_ref = -- nastavime referenci na managera pro kazdy zaznam v tabulce OBJ_EMPLOYEES
  9.     (SELECT REF(obj_manager)  -- chceme referenci na objektoveho zamestnance
  10.         FROM OBJ_EMPLOYEES obj_manager -- ovsem vazby zamestnanec->manager jsou podchyceny pouze v puvodnich relacnich tabulkach
  11.         JOIN EMPLOYEES manager ON obj_manager.employee_id = manager.employee_id -- musime tedy dohledat odpovidajiciho relacniho managera
  12.         JOIN EMPLOYEES emp ON emp.manager_id = manager.employee_id -- ktery je managerem "nejakeho" zamestnance emp
  13.         WHERE emp.employee_id = obj_emp.employee_id -- ovsem konkretne prave toho zamestnance, kteremu prave referenci nastavujeme
  14.         );
  15.        
  16. UPDATE OBJ_EMPLOYEES obj_emp
  17.   SET obj_emp.department_ref = -- nastavime referenci na oddeleni pro kazdy zaznam v tabulce OBJ_EMPLOYEES
  18.     (SELECT REF(obj_dept)  -- chceme referenci na objektove oddeleni
  19.       FROM OBJ_DEPARTMENTS obj_dept -- ovsem vazby zamestnance->oddeleni jsou podchyceny pouze v puvodnich relacnich tabulkach
  20.       JOIN DEPARTMENTS dept ON obj_dept.department_id = dept.department_id -- musime tedy dohledat odpovidajiciho relacni oddeleni
  21.       JOIN EMPLOYEES emp ON emp.department_id = dept.department_id -- do ktere patri "nejaky" zamestnanec
  22.       WHERE emp.employee_id = obj_emp.employee_id  -- ovsem konkretne prave ten zamestnanec, kteremu prave referenci nastavujeme
  23.       );
  24.      
  25. UPDATE OBJ_DEPARTMENTS obj_dept
  26.   SET obj_dept.manager_ref = -- nastavime referenci na oddeleni pro kazdy zaznam v tabulce OBJ_EMPLOYEES
  27.     (SELECT REF(obj_manager) -- chceme referenci na objektoveho managera (zamestnance)
  28.       FROM OBJ_EMPLOYEES obj_manager -- ovsem vazby oddeleni->manager jsou podchyceny pouze v puvodnich relacnich tabulkach
  29.       JOIN EMPLOYEES manager ON obj_manager.employee_id = manager.employee_id -- musime tedy dohledat odpovidajiciho relacniho managera
  30.       JOIN DEPARTMENTS dept ON dept.manager_id = manager.employee_id -- ktery je managerem "nejakeho" oddeleni
  31.       WHERE dept.department_id = obj_dept.department_id -- ovsem konkretne prave toho oddeleni, ktermu prave referenci nastavujeme
  32.       );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement