Я пытаюсь создать триггер, который перед удалением строки в таблице CLUBS проверяет, является ли столбец END_DATE пустым, если строка пустая, вместо удаления строки она заменяет значение sysdate, а если строка не нулевая, то строка не удаляется.
CREATE OR REPLACE TRIGGER TRANSFER_DATA
BEFORE DELETE ON CLUBS
FOR EACH ROW
BEGIN
IF :old.END_DATE IS NULL
THEN UPDATE CLUBS SET END_DATE = SYSDATE;
ELSE
RAISE_APPLICATION_ERROR(-20033, 'No se puede borrar');
END IF;
END;
Я пробовал этот код, но возникает ошибка:
"таблица% s.% s мутирует, триггер / функция может его не видеть "
Как я могу заставить это работать? Кстати, я работаю над Oracle sqldeveloper