Advertisement
GoralWMoro

Untitled

Dec 28th, 2019
374
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 1.60 KB | None | 0 0
  1. ALTER PROCEDURE "DBA"."Druzyna"( IN klub_id int )
  2. BEGIN
  3. DECLARE imie CHAR(40);
  4. DECLARE nazwisko CHAR(40);
  5. DECLARE narodowosc CHAR(40);
  6. DECLARE data_urodzenia DATE;
  7. DECLARE wzrost numeric(3);
  8. DECLARE waga numeric(3);
  9. DECLARE pozycja CHAR(10);
  10. DECLARE kontrakt_do DATE;
  11. DECLARE kontrakt_od DATE;
  12. DECLARE nazwa_klubu CHAR(40);
  13. DECLARE kursor_zawodnik CURSOR FOR (SELECT zawodnik.imie, zawodnik.nazwisko, zawodnik.narodowosc, zawodnik.data_urodzenia,
  14. wzrost, waga, (SELECT nazwa_pozycja AS Pozycja FROM pozycja_zawodnika AS pozycja WHERE pozycja.id_pozycja = zawodnik.id_pozycja),
  15. kontrakt.kontrakt_od, kontrakt.kontrakt_do
  16. INTO imie, nazwisko, narodowosc, data_urodzenia, wzrost, waga, pozycja, kontrakt_od, kontrakt_do
  17. FROM zawodnik
  18. INNER JOIN kontrakt ON kontrakt.id_zawodnik = zawodnik.id_zawodnik AND (kontrakt.id_klub = klub_id) AND kontrakt.kontrakt_do > getdate());
  19.  
  20. SET nazwa_klubu = (SELECT nazwa_klub FROM klub WHERE id_klub = klub_id);
  21. MESSAGE 'Zawodnicy klubu: ' || nazwa_klubu || '\n' TO CLIENT;
  22.  
  23. OPEN kursor_zawodnik;
  24. petla: LOOP
  25.     FETCH NEXT kursor_zawodnik INTO imie, nazwisko, narodowosc, data_urodzenia, wzrost, waga, pozycja, kontrakt_od, kontrakt_do;
  26.     IF SQLCODE <> 0 THEN
  27.         Leave petla;
  28.     ENDIF;
  29.     MESSAGE 'Imie i nazwisko: ' || imie || ' ' || nazwisko || '\n' ||
  30.     'Kraj pochodzenia: ' || narodowosc || ' Data urodzenia: ' || data_urodzenia || ' Wzrost: ' || wzrost || ' Waga: ' || waga || '\n' ||
  31.     'Pozycja: ' || pozycja || '\n' ||
  32.     'Kontrakt od: ' || kontrakt_od || ' Kontrakt do: ' || kontrakt_do || '\n'   TO CLIENT;
  33. END LOOP;
  34. CLOSE kursor_zawodnik;
  35. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement