Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --po dwa wybrane zadania z listy 2 i 3
- -- z listy 2
- --zad 19
- --a
- SELECT K.imie "Imie", '|' " ", NVL(K.funkcja, ' ') "Funkcja", '|' " ", NVL(K.szef.imie, ' ') "Szef 1",'|' " ", NVL(K.szef.szef.imie, ' ') "Szef 2", '|' " ", NVL(K.szef.szef.szef.imie, ' ') "Szef 3"
- FROM KotO_table K
- WHERE K.funkcja = 'KOT' OR K.funkcja = 'MILUSIA';
- --b
- SELECT "imie" "Imie", "funkcja" "Funkcja", NVL("Szef 1", ' ') "Szef 1", NVL("Szef 2", ' ') "Szef 2", NVL("Szef 3", ' ') "Szef 3"
- FROM (SELECT LEVEL "poziom", CONNECT_BY_ROOT K.imie "imie", CONNECT_BY_ROOT K.funkcja "funkcja", K.imie "imie szefa"
- FROM KotO_table K
- CONNECT BY PRIOR K.szef = REF(K)
- START WITH K.funkcja IN ('KOT','MILUSIA'))
- PIVOT(
- MAX("imie szefa")
- FOR "poziom"
- IN('2' "Szef 1", '3' "Szef 2", '4' "Szef 3")
- );
- --c
- SELECT CONNECT_BY_ROOT K.imie "Imie", CONNECT_BY_ROOT K.funkcja "Funkcja", SUBSTR(SYS_CONNECT_BY_PATH(K.imie, ' |'), 12) "Imiona kolejnych szefow"
- FROM KotO_table K
- WHERE K.szef IS NULL
- CONNECT BY PRIOR K.szef = REF(K)
- START WITH K.funkcja IN ('KOT','MILUSIA');
- --zad 22
- SELECT I.kot_z_incydentu.funkcja "Funkcja", I.kot_z_incydentu.pseudo "Pseudonim kota", COUNT(I.imie_wroga) "I"
- FROM IncydentyO_table I
- GROUP BY I.kot_z_incydentu.funkcja, I.kot_z_incydentu.pseudo
- HAVING COUNT(I.imie_wroga)>=2;
- --z listy 3
- --zad 34
- SET SERVEROUTPUT ON
- DECLARE
- funk KotO_table.funkcja%TYPE:='&funkcja';
- BEGIN
- SELECT K.funkcja INTO funk
- FROM KotO_table K
- GROUP BY K.funkcja
- HAVING K.funkcja = funk;
- DBMS_OUTPUT.PUT_LINE(funk);
- EXCEPTION
- WHEN no_data_found THEN
- DBMS_OUTPUT.PUT_LINE(SQLERRM);
- END;
- --Zad 35 PUNIA I KURKA
- SET SERVEROUTPUT ON
- DECLARE
- im KotO_table.imie%TYPE;
- myszy_rocznie VARCHAR2(4);
- zawiera_a VARCHAR2(20);
- czy_styczen VARCHAR2(50);
- p1 KotO_table.pseudo%TYPE:='&pseudo';
- BEGIN
- SELECT K.imie INTO im
- FROM KotO_table K
- WHERE K.pseudo = p1;
- SELECT CASE
- WHEN NVL(K.przydzial_myszy, 0)*12 > 700 THEN '>700'
- WHEN NVL(K.przydzial_myszy, 0)*12 < 700 THEN '<700'
- WHEN NVL(K.przydzial_myszy, 0)*12 = 700 THEN '=700'
- END INTO myszy_rocznie
- FROM KotO_table K
- WHERE K.pseudo = p1;
- SELECT CASE
- WHEN K.imie LIKE '%A%' THEN 'imie zawiera A'
- ELSE 'imie nie zawiera A'
- END INTO zawiera_a
- FROM KotO_table K
- WHERE K.pseudo=p1;
- SELECT CASE
- WHEN EXTRACT(MONTH FROM K.w_stadku_od) = 1 THEN 'styczen jest miesiacem przystapienia do stada'
- ELSE 'styczen NIE jest miesiacem przystapienia do stada'
- END INTO czy_styczen
- FROM KotO_table K
- WHERE K.pseudo = p1;
- DBMS_OUTPUT.PUT_LINE(im);
- DBMS_OUTPUT.PUT_LINE('calkowity roczny przydzial myszy'||myszy_rocznie);
- DBMS_OUTPUT.PUT_LINE(im);
- DBMS_OUTPUT.PUT_LINE(zawiera_a);
- DBMS_OUTPUT.PUT_LINE(im);
- DBMS_OUTPUT.PUT_LINE(czy_styczen);
- DBMS_OUTPUT.PUT_LINE(im);
- IF myszy_rocznie = '>700' AND zawiera_a = 'imie zawiera A'
- AND czy_styczen = 'styczen jest miesiacem przystapienia do stada'
- THEN DBMS_OUTPUT.PUT_LINE('odpowiada kryteriom');
- ELSE DBMS_OUTPUT.PUT_LINE('nie odpowiada kryteriom');
- END IF;
- EXCEPTION
- WHEN OTHERS
- THEN DBMS_OUTPUT.PUT_LINE(SQLERRM);
- END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement