Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Zadanie 4
- Rozwiązania zadań K1-K3 umieść w pakiecie i zademonstruj, że
- działają wszystkie funkcje i procedury w utworzonym pakiecie.
- */
- CREATE OR REPLACE PACKAGE akolinski IS -- package specification
- CURSOR cur_pracownicy IS SELECT imie, nazwisko, pensja FROM pracownicy ORDER BY pensja DESC;
- PROCEDURE losowanie ( value_min INTEGER, value_max INTEGER );
- PROCEDURE zad2;
- PROCEDURE fib ( count_items IN NUMBER );
- END akolinski;
- /
- CREATE OR REPLACE PACKAGE BODY akolinski IS
- v_temp INTEGER;
- v_ile INT := 3;
- v_last2 INT := 0;
- v_last INT := 1;
- PROCEDURE losowanie ( value_min INTEGER, value_max INTEGER ) IS
- BEGIN
- FOR i IN 1..6 LOOP
- SELECT dbms_random.VALUE(value_min,value_max) num
- INTO v_temp
- FROM dual;
- dbms_output.put_line('Wylosowana cyfra : ' || v_temp);
- END LOOP;
- END losowanie;
- PROCEDURE zad2 IS
- BEGIN
- FOR v_pracownik IN cur_pracownicy
- LOOP
- FOR v_pracownik IN cur_pracownicy
- LOOP
- DBMS_OUTPUT.PUT_LINE(v_pracownik.imie || ' ' || v_pracownik.nazwisko);
- EXIT WHEN v_ile = 3;
- END LOOP;
- EXIT WHEN v_ile = 0;
- END LOOP;
- EXCEPTION
- WHEN CURSOR_ALREADY_OPEN THEN
- DBMS_OUTPUT.PUT_LINE('Kursor jest juz otwarty.');
- WHEN OTHERS THEN
- DBMS_OUTPUT.PUT_LINE('Nieznany blad.');
- END zad2;
- PROCEDURE fib ( count_items IN NUMBER ) IS
- BEGIN
- dbms_output.put_line('Ciag Fibb, ' || count_items || ' pierwszych liczb to : ');
- IF
- count_items >= 1
- THEN
- dbms_output.put_line('f(0) = 0');
- END IF;
- IF
- count_items >= 2
- THEN
- dbms_output.put_line('f(1) = 1');
- END IF;
- IF
- count_items >= 3
- THEN
- v_last2 := 0;
- v_last := 1;
- --Wzór: f(0)=0, f(1)=1, f( n )=f(n-1)+f(n-2).
- FOR i IN 2..count_items-1 LOOP
- v_temp := v_last + v_last2;
- dbms_output.put_line('f('|| i ||') = '|| v_temp);
- v_last2 := v_last;
- v_last := v_temp;
- END LOOP;
- END IF;
- END fib;
- END akolinski;
- /
- BEGIN
- DBMS_OUTPUT.PUT_LINE('Zad1');
- akolinski.losowanie(1,49);
- DBMS_OUTPUT.PUT_LINE('Zad2');
- akolinski.zad2;
- DBMS_OUTPUT.PUT_LINE('Zad3');
- akolinski.fib(10);
- END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement