Хорошо, поэтому я пытаюсь запустить этот код:
Create or replace trigger modificare_datar
After Insert or Update of datar
ON Imprumut
for each row
Begin
if datar<datai or datar>sysdate
then Raise_application_error(-20500,'Eroare! datar nevalida');
end if;
End;
Но я получаю следующую ошибку:
Error at line 3: PL/SQL: Statement ignored
1. Create or replace trigger modificare_datar
2. After Insert or Update of datar
3. ON Imprumut
4. for each row
5. Begin
Что я хочу сделать, это создать триггер, который вызываетошибка, потому что дата даты, которую я хочу обновить, или при вставке меньше другой даты (datai) или больше sysdate.Но я на самом деле не знаю, почему он получает меня и ошибки.Если нет, я бы хотел, чтобы в параметре подъема и ошибки было задано значение sysdate для дататора, но если я попытаюсь создать триггер, я получу 2 ошибки при попытке его запуска (я обнаружил, что это происходит потому, что он будет продолжаться).цикл) Можете ли вы помочь мне?
РЕДАКТИРОВАТЬ:
Хорошо, я попробовал этот код
Create or replace trigger modificare_datar
After Insert or Update of datar ON Imprumut
for each row
Begin
if :new.datar<:new.datai or :new.datar>sysdate then
Raise_application_error(-20500,'Eroare! datar nevalida');
end if;
End;
, и он позволяет мне создать его, но теперь я получаю следующееошибка при срабатывании триггера
ORA-20500: Eroare! datar nevalida ORA-06512: at "RO_A372_SQL_S20.MODIFICARE_DATAR", line 4 ORA-04088: error during execution of trigger 'RO_A372_SQL_S20.MODIFICARE_DATAR' 2. set datar='26-Nov-2018' 3. where id_carte=6 and id_imp=4