Procedura wstawiania - spr. czy obiekt już istnieje

0

Cześć,

Mam procedurę w oracle, która wstawia nazwę miasta i jednocześnie tworzy kolejny nr ID. Jak zabezpieczyć procedurę by nie wstawiała nazw jeśli takie już w bazie istnieją. Dzięki i pozdrawiam! Mój kod:

create or replace
PROCEDURE WstawMiejscowosc(
miasto IN Miejscowosc.Nazwa%TYPE)
AS
id_M Miejscowosc.Id_Miejscowosci%TYPE;
BEGIN
SELECT NVL(Max(m.Id_Miejscowosci)+1,1) INTO id_M
FROM Miejscowosc m;
INSERT INTO Miejscowosc
VALUES(id_M, miasto);

End;

0

przez wykonanie obsługi wyjątków *exception * i wycofanie transakcji rollback

CREATE SEQUENCE Miejscowosc_ID_SEQ
 INCREMENT BY 1
 START WITH 401
 NOMAXVALUE
 MINVALUE 1
 NOCYCLE
 NOCACHE
/

create or replace PROCEDURE WstawMiejscowosc(
              miasto IN Miejscowosc.Nazwa%TYPE)
is  
BEGIN 
  
	INSERT INTO Miejscowosc(id, Nazwa)
	VALUES(Miejscowosc_ID_SEQ.NEXTVAL, miasto);
	commit;
	
exception when others then
	dbms_output.put_line('Nie udało się wstawić wartości do tabeli Miejscowosc');
rollback;
End;

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