Advertisement
Guest User

Untitled

a guest
Jan 28th, 2020
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.80 KB | None | 0 0
  1. 8.1 Funkcja 1 (użycie KURSORA) – LACZNA_KWOTA_WYPLAT
  2. Opis: Funkcja ta sumuje wszystkie dane z kolumny ZAROBKI z tabeli Pracownik i
  3. wyświetla.
  4. Kod:
  5. ALTER FUNCTION "DBA"."LACZNA_KWOTA_WYPLAT"()
  6. RETURNS money
  7. DETERMINISTIC
  8. BEGIN
  9. DECLARE zarobkic money;
  10. DECLARE suma money;
  11. declare i INT;
  12. declare kursor dynamic scroll cursor for
  13. select zarobki from pracownik;
  14. SET i=0;
  15. SET suma = 0;
  16. Open kursor;
  17. while i <(select count(*) From pracownik)
  18. LOOP
  19. FETCH NEXT kursor into zarobkic;
  20. set i=i+1;
  21. set suma=suma+zarobkic;
  22. END LOOP;
  23. CLOSE kursor;
  24. DEALLOCATE kursor;
  25. RETURN suma;
  26. END
  27. Wynik:
  28. 8.2 Funkcja 2(użycie KURSORA) – Imiennicy
  29. Opis: Funkcja wyświetla ilość pracowników o podanym imieniu
  30. Kod:
  31. ALTER FUNCTION "DBA"."Imiennicy"( in imiee varchar(32) )
  32. RETURNS INTEGER
  33. DETERMINISTIC
  34. BEGIN
  35. DECLARE imiec VARCHAR(32);
  36. DECLARE i INT;
  37. DECLARE kursor DYNAMIC SCROLL CURSOR FOR
  38. SELECT IMIE FROM PRACOWNIK WHERE IMIE = imiee;
  39. SET i=0;
  40. OPEN kursor;
  41. WHILE i<(SELECT COUNT(*) FROM PRACOWNIK WHERE IMIE = imiee)
  42. LOOP
  43. FETCH NEXT kursor into imiec;
  44. SET i=i+1;
  45. END LOOP;
  46. CLOSE kursor;
  47. DEALLOCATE kursor;
  48. RETURN i;
  49. END
  50. Wynik:
  51. 8.3 Funkcja 3(uzycie KURSORA) – Ilosc_Licencji_Pracownika
  52. Opis: Funkcja wyświetla ilość licencji pracownika o podanym ID_PRACOWNIKA
  53. Kod:
  54. ALTER FUNCTION "DBA"."Ilosc_Licencji_Pracownika"(in ID_PRACOWNIKAA INT)
  55. RETURNS INTEGER
  56. DETERMINISTIC
  57. BEGIN
  58. DECLARE id_pracownikac INT;
  59. DECLARE I INT;
  60. DECLARE kursor DYNAMIC SCROLL CURSOR FOR
  61. SELECT ID_PRACOWNIKA FROM LICENCJA WHERE ID_PRACOWNIKA = ID_PRACOWNIKAA;
  62. SET i=0;
  63. OPEN kursor;
  64. WHILE i<(SELECt COUNT(*) FROM LICENCJA WHERE ID_PRACOWNIKA = ID_PRACOWNIKAA)
  65. LOOP
  66. FETCH NEXT kursor into id_pracownikac;
  67. SET i=i+1;
  68. END LOOP;
  69. CLOSE kursor;
  70. DEALLOCATE kursor;
  71. RETURN i;
  72. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement