Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --ZAD1
- SET SERVEROUTPUT ON;
- CREATE OR REPLACE FUNCTION SREDNIA
- RETURN NUMBER
- IS
- SR NUMBER;
- BEGIN
- DBMS_OUTPUT.ENABLE;
- SELECT AVG(WYNAGRODZENIE)
- INTO SR
- FROM LEKARZE;
- RETURN SR;
- END;
- /
- CREATE OR REPLACE PROCEDURE drukuj_srednia
- AS
- BEGIN
- DBMS_OUTPUT.PUT_LINE('Srednia = ' || srednia);
- END;
- /
- --EXECUTE drukuj_srednia;
- SELECT * FROM LEKARZE;
- CREATE OR REPLACE FUNCTION SREDNIA_FOR
- RETURN NUMBER
- IS
- SR NUMBER:=0;
- ILE NUMBER:=0;
- WY NUMBER;
- BEGIN
- SELECT COUNT(*)
- INTO ILE
- FROM LEKARZE;
- FOR I IN 1 .. ILE
- LOOP
- SELECT WYNAGRODZENIE
- INTO WY
- FROM LEKARZE
- WHERE LEKARZ_ID=I;
- SR :=SR+WY;
- END LOOP;
- SR:=SR/ILE;
- RETURN SR;
- END;
- /
- VARIABLE FOR_SREDNIA NUMBER;
- EXECUTE :FOR_SREDNIA :=SREDNIA_FOR()
- PRINT FOR_SREDNIA
- --while
- CREATE OR REPLACE FUNCTION SREDNIA_WHILE
- RETURN NUMBER
- IS
- SR NUMBER:=0;
- ILE NUMBER:=0;
- I NUMBER:=1;
- WY NUMBER;
- BEGIN
- SELECT COUNT(*)
- INTO ILE
- FROM LEKARZE;
- WHILE I<=ILE
- LOOP
- SELECT WYNAGRODZENIE
- INTO WY
- FROM LEKARZE
- WHERE LEKARZ_ID=I;
- SR :=SR+WY;
- I:=I+1;
- END LOOP;
- SR:=SR/ILE;
- RETURN SR;
- END;
- /
- VARIABLE WHILE_SREDNIA NUMBER;
- EXECUTE :WHILE_SREDNIA :=SREDNIA_WHILE()
- PRINT WHILE_SREDNIA
- --LOOP
- CREATE OR REPLACE FUNCTION SREDNIA_LOOP
- RETURN NUMBER
- IS
- SR NUMBER:=0;
- ILE NUMBER:=0;
- I NUMBER:=1;
- WY NUMBER;
- BEGIN
- SELECT COUNT(*)
- INTO ILE
- FROM LEKARZE;
- LOOP
- exit when i>ile;
- SELECT WYNAGRODZENIE
- INTO WY
- FROM LEKARZE
- WHERE LEKARZ_ID=I;
- SR :=SR+WY;
- I:=I+1;
- END LOOP;
- SR:=SR/ILE;
- RETURN SR;
- END;
- /
- VARIABLE LOOP_SREDNIA NUMBER;
- EXECUTE :LOOP_SREDNIA :=SREDNIA_LOOP()
- PRINT LOOP_SREDNIA
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement