У меня есть таблица с именем users, в которой есть поле для учетной записи ... возможные значения этого поля: Y и N ... если пользователь из внешнего интерфейса входит в систему с 3 попытками ввода неверного пароля, то accountlocked будет Y, что означаетучетная запись заблокирована ... но у меня есть определенный пользователь, который не хочет, чтобы заблокированная учетная запись была обновлена до Y ... Я создал триггер, который может обновить его до N, если это Y ... но я просто неЯ не хочу, чтобы поле было обновлено до Y atall в первую очередь для этого конкретного пользователя
CREATE OR REPLACE TRIGGER traccountunlock AFTER
UPDATE OF accountlocked ON users
FOR EACH ROW
WHEN (new.username=‘Testuser ’)
BEGIN
IF :new.accountlocked = 'Y' THEN
UPDATE users
SET
accountlocked = 'N'
WHERE
username IN (
'Testuser'
);
END IF;
END;
Это работает, но это происходит после того, как поле обновлено до Y, но я не хочу, чтобы оно обновлялось доДа, во-первых, что-то вроде вместо ... но вместо того, чтобы работать только для представлений, а не таблиц в oracle
Примечание: я могу сделать это с помощью кода Java, но я не ищу это решение, поскольку ононеобходимо развернуть и будущие проблемы