Wyszukiwanie atrybutu tabeli po parametrze procedury

0

Czesc! Chcialbym napisac procedure w PL/SQL'u jednakże nie potrafię stworzyć odpowiednich warunków. Jak sprawdzić czy wartość podana jako parametr procedury już występuje w tabeli? Miałoby to działać na takiej zasadzie:

DodajLekarza(p_pesel IN INTEGER, (...), p_specjalizacja IN VARCHAR) IS
v_id_spec INTEGER;
BEGIN
    1) Jeśli p_specjalizacja nie istnieje jeszcze w  tabeli Specjalizacja wtedy: 
            INSERT INTO Specjalizacja VALUES (spec_numer.NEXTVAL, p_specjalizacja);
    2) Jesli p_specjalizacja istnieje juz w tabeli Specjalizacja wtedy:
           SELECT id_spec INTO v_id_spec FROM Specjalizacja WHERE nazwa = p_specjalizacja;
           (...)

Będę wdzięczny za pomoc w stworzeniu takiego warunku! Probowalem przez NOT EXISTS i NOT IN no ale widocznie robiłem coś źle.

1
declare
  v_id_spec integer;
begin
  begin
    select id_spec into v_id_spec from Specjalizacja WHERE nazwa = p_specjalizacja;
    EXCEPTION WHEN NO_DATA_FOUND
    begin
      select spec_numer.NEXTVAL into v_id_spec from dual;
      INSERT INTO Specjalizacja VALUES (v_id_spec, p_specjalizacja);
    end;
  end;
end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1