Как проверять состояние с помощью select в триггере Oracle

baltun

Администратор
Сообщения
10.870
Реакции
2.584
Баллы
2.003
Требуется при добавлении в таблицу назовём ее TABLES данных или их обновлений, запускать триггер и если данные команды SELECT выводят нужное нам значение срабатывает вывод ошибки, если SELECT не выводит нужные нам данные, тогда нечего не происходит.
SQL:
create or replace TRIGGER "XXX"."STOPLIST"
BEFORE INSERT OR UPDATE ON TABLES
FOR EACH ROW
DECLARE
N PLS_INTEGER;
BEGIN
SELECT COUNT(*) INTO N FROM STOPLIST WHERE :NEW.PIN = STOPLIST.PIN;
IF N > 0
THEN
RAISE_APPLICATION_ERROR (-20000, 'Ошибка при обработки.');
END IF;
END;
Данные из таблицы TABLES сверяются с таблицей STOPLIST и если в последней количество больше 1 (т.е. есть данные) тогда выполняется триггер.
 
Назад
Верх Низ