をロールバックは、私は、次のトリガーがあるとします。Oracleのトリガーの例外と
create or replace trigger trigInsertSaloane before insert on saloane
for each row
declare
myExcp exception;
pragma exception_init (myExcp,-20005);
begin
for i in (select * from saloane) loop
if(:new.numar_salon=i.numar_salon) and (trim(upper(:new.nume_sectie))=trim(upper(i.nume_sectie))) then
raise myExcp;
end if;
end loop;
exception when myExcp then dbms_output.put_line('Record exists');
end;
/
私が欲しいのは、例外が発生した場合行を挿入しないことですので、ロールバックのようなもの。私の場合、例外が発生し捕まえられた場合、その行も挿入されます。私はそれを望んでいない。また、私はメッセージを表示してエラーを出さないように、かなりの方法でそれを作りたいと思っています。