(c) Instytut Informatyki Politechniki Poznańskiej
‹#›
(c) Instytut Informatyki Politechniki Poznańskiej
8
Przykład procedury
CREATE OR REPLACE PROCEDURE sprawdz_asystentow (p_id_zesp IN NUMBER, p_ilu_asystentow OUT NUMBER) IS
  v_starszy_asystent pracownicy%ROWTYPE;
BEGIN
  SELECT COUNT(*) INTO p_ilu_asystentow
  FROM pracownicy WHERE id_zesp = p_id_zesp AND etat = 'ASYSTENT';
  FOR cur_rec IN
    (SELECT * FROM pracownicy WHERE id_zesp = p_id_zesp AND etat = 'ASYSTENT')
    LOOP
    IF (MONTHS_BETWEEN(SYSDATE, cur_rec.zatrudniony)/12) > 5 THEN
      DBMS_OUTPUT.PUT_LINE('Asystent ' || cur_rec.nazwisko || ' pracuje ponad 5 lat');
    END IF;
  END LOOP;
EXCEPTION
  WHEN NO_DATA_FOUND THEN
    DBMS_OUTPUT.PUT_LINE('W zespole ' || p_id_zesp || ' nie ma asystentow ');
END sprawdz_asystentow;
/