Сообщение для тригера в Pl/sql

  • Автор темы Andrian
  • Дата начала
A

Andrian

Гость
#1
мне нужна какаят-о функция (в моем случае МSG но она использует
RAISE_APPLICATION_ERROR(AError, AText)
) которая при реагировании тригера на ввод неправильных данных вывела в моем приложение (приложение написано на C++ Builder) которая использует Oracle 10 g, сообщение о недостоверности водимых данных и рарешала бы дальше работать и не блокировала эту запись как делает RAISE_APPLICATION_ERROR.

Тригер имеет вид:

CREATE OR REPLACE TRIGGER UN4.TRiG_Ver_Cant instead OF

INSERT OR UPDATE ON UN4.VMDB_CMN202D FOR EACH ROW
DECLARE CA NUMBER;

eroare EXCEPTION;
BEGIN


ca:=Un$sold.CALC_SOLD(sysdate,

2161,

' ',

:new.ctsc,

:new.ctdep,

' ',

' ',

' ',

' ',

' ',

158159);



IF INSERTING THEN



if :new.ctsc not in(17688) then

if :)new.cant>ca) then
begin



raise eroare;



end;

end if;

end if;






ELSIF UPDATING THEN



if :new.ctsc not in(17688) then

if :)new.cant>ca) then
begin


raise eroare;


end;

end if;

end if;



END IF;

EXCEPTION

WHEN eroare THEN msg('Cantitatea produsului '||:new.ctsc||' depaseste resturile la depozitul '||:new.ctdep||' de: '||ca);



end;
/


???