-- Stored Function create or replace function pruef_operation(p_persnr integer, p_opnr integer) return integer as v_persnr integer; begin select persnr into v_persnr from operation where opnr = p_opnr; if v_persnr = p_persnr then return 0; else return 1; end if; end; / -- Trigger create or replace trigger ASSISTENZ_INSERT before insert on assistenz for each row declare Eingabe_nicht_zulaessig exception; pragma exception_init (Eingabe_nicht_zulaessig, -20001); antwort integer; begin antwort := pruef_operation(:new.persnr,:new.opnummer); if antwort = 0 then raise Eingabe_nicht_zulaessig; end if; exception when Eingabe_nicht_zulaessig then raise_application_error (-20001, 'Chirurg ' || :new.persnr || ' leitet diese Operation!'); end; /