Advertisement
Guest User

Untitled

a guest
Jan 16th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.94 KB | None | 0 0
  1. -- Zadanie 19a
  2. SELECT k.imie,
  3. k.funkcja,
  4. NVL(k.szef.pseudo, ' ') "Szef 1",
  5. NVL(k.szef.szef.pseudo, ' ') "Szef 2",
  6. NVL(k.szef.szef.szef.pseudo, ' ') "Szef 3"
  7. FROM KocuryO k
  8. WHERE k.funkcja IN ('KOT', 'MILUSIA');
  9.  
  10. -- 19c
  11. MEMBER FUNCTION DajSzefa RETURN TYPE_KOCUR
  12. IS
  13. kocur_ref TYPE_KOCUR;
  14. BEGIN
  15. SELECT DEREF(szef) into kocur_ref FROM DUAL;
  16. RETURN kocur_ref;
  17. END;
  18. SELECT *
  19. FROM (
  20. SELECT
  21. CONNECT_BY_ROOT IMIE imie,
  22. CONNECT_BY_ROOT FUNKCJA funkcja,
  23. TO_CHAR(level - 1) poziom,
  24. IMIE szefunio
  25. FROM KocuryR kocur
  26. WHERE CONNECT_BY_ROOT PSEUDO <> PSEUDO
  27. CONNECT BY PRIOR VALUE(kocur).DajSzefa().pseudo = pseudo -- funkcja VALUE zwracająca obiekt wierszowy
  28. START WITH FUNKCJA = 'MILUSIA' OR FUNKCJA = 'KOT')
  29. PIVOT
  30. (
  31. MAX(szefunio)
  32. FOR poziom
  33. IN ('1' "szef 1",
  34. '2' "szef 2",
  35. '3' "szef 3")
  36. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement