У меня возникли проблемы с этим ниже кода, который является триггером используется в Oracle SQL:TRIGGER Oracle для предотвращения обновления или вставки
CREATE OR REPLACE TRIGGER TRG_TUTOR_BLOCK
BEFORE INSERT OR UPDATE ON tutors
FOR EACH ROW
DECLARE
BEGIN
IF :new.tutorName = :old.tutorName
THEN
RAISE_APPLICATION_ERROR(-20101, 'A tutor with the same name currently exists.');
ROLLBACK;
END IF;
END;
/
Этот триггер используется, чтобы запретить пользователям входить в такое же имя Репетитор в разные записей.
После того, как я вставляю две записи с одинаковым tutorname, триггер не блокирует меня от его вставки. Кто-нибудь может сказать мне, в чем проблемы с этим кодированием? Ниже приведены формат выборки и значения вставки:
INSERT INTO tutors VALUES (tutorID, tutorName tutorPhone, tutorAddress, tutorRoom, loginID);
INSERT INTO tutors VALUES ('13SAS01273', 'Tian Wei Hao', '019-8611123','No91, Jalan Wangsa Mega 2, 53100 KL', 'A302', 'TianWH');
я вижу. Благодарю. Есть ли другой способ использовать триггеры для предотвращения вставки или удаления с использованием этой таблицы? –
Добавить триггер ДО ВСТАВКИ ИЛИ УДАЛЕНИЯ, который всегда выдает ошибку и выполняет откат. – Kamil