• Для скачивания ресурсов Форума пользователь должен написать не менее 5 полезных сообщений и получить 5 симпатий.
    Если Вы не хотите выполнять условия, Вы должны купить переход в группу "Работяга" или любое наше дополнение и сможете скачивать ресурсы, перевод происходит по email, который указывается при оплате.

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

baltun

Администратор
Сообщения
6.140
Реакции
1.843
Баллы
1.833
Лучшие ответы
2
Требуется при добавлении в таблицу назовём ее 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 (т.е. есть данные) тогда выполняется триггер.
 
Верх Низ