Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DECLARE
- max_level NUMBER;
- user_depth NUMBER := '&Przelozeni';
- header VARCHAR2(150) := RPAD('IMIE',10,' ');
- r VARCHAR2(150);
- zero NUMBER := 0;
- CURSOR koty IS SELECT imie FROM kocury WHERE funkcja IN ('KOT','MILUSIA');
- CURSOR szefowie(korzen kocury.imie%TYPE) IS SELECT imie FROM kocury START WITH imie = korzen CONNECT BY PRIOR szef = pseudo;
- BEGIN
- SELECT MAX(LEVEL) INTO max_level FROM kocury START WITH funkcja IN ('KOT', 'MILUSIA') CONNECT BY PRIOR szef= pseudo;
- IF user_depth < max_level THEN max_level := user_depth +1; END IF; -- dodajemy 1 bo level maksymalny jest zawsze o 1 wiekszy niz bysmy chcieli
- FOR i IN 1..max_level-1
- LOOP
- header := header || '|' || RPAD('SZEF ' || i,10,' ');
- END LOOP;
- DBMS_OUTPUT.put_line(header);
- DBMS_OUTPUT.put_line(RPAD('-', max_level * 10 + max_level *3 , '-'));
- FOR kot IN koty
- LOOP
- r := RPAD(kot.imie,10,' ');
- FOR szef IN szefowie(kot.imie)
- LOOP
- IF szefowie%ROWCOUNT > max_level THEN EXIT; END IF;
- IF kot.imie != szef.imie THEN r := r || '|' || RPAD( szef.imie,10,' '); END IF; --if dla formatowania
- END LOOP;
- DBMS_OUTPUT.PUT_LINE(r);
- END LOOP;
- END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement