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

Тема в разделе "SQL", создана пользователем Andrian, 5 ноя 2008.

  1. Andrian

    Andrian Гость

    мне нужна какаят-о функция (в моем случае М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;
    /


    ???
     
Загрузка...

Поделиться этой страницей