Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Zadanie 19a
- SELECT k.imie,
- k.funkcja,
- NVL(k.szef.pseudo, ' ') "Szef 1",
- NVL(k.szef.szef.pseudo, ' ') "Szef 2",
- NVL(k.szef.szef.szef.pseudo, ' ') "Szef 3"
- FROM KocuryO k
- WHERE k.funkcja IN ('KOT', 'MILUSIA');
- -- 19c
- MEMBER FUNCTION DajSzefa RETURN TYPE_KOCUR
- IS
- kocur_ref TYPE_KOCUR;
- BEGIN
- SELECT DEREF(szef) into kocur_ref FROM DUAL;
- RETURN kocur_ref;
- END;
- SELECT *
- FROM (
- SELECT
- CONNECT_BY_ROOT IMIE imie,
- CONNECT_BY_ROOT FUNKCJA funkcja,
- TO_CHAR(level - 1) poziom,
- IMIE szefunio
- FROM KocuryR kocur
- WHERE CONNECT_BY_ROOT PSEUDO <> PSEUDO
- CONNECT BY PRIOR VALUE(kocur).DajSzefa().pseudo = pseudo -- funkcja VALUE zwracająca obiekt wierszowy
- START WITH FUNKCJA = 'MILUSIA' OR FUNKCJA = 'KOT')
- PIVOT
- (
- MAX(szefunio)
- FOR poziom
- IN ('1' "szef 1",
- '2' "szef 2",
- '3' "szef 3")
- );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement