Гость
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Триггеры / 3 сообщений из 3, страница 1 из 1
04.12.2018, 01:47
    #39742196
tatarinov35
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггеры
Здравствуйте. Работаю в Apex oracle. Имеется база данных, для которой нужно написать триггеры
Помогите, кто чем может

* Позволять просматривать информацию по изменению и удалению информации о банках c сохранением изменяемых и удаляемых кортежей в архив, даты и времени изменения и логина пользователя, внесшего изменения.

* Запретить удаление банка, если с ним есть действующие на текущую дату договоры более, чем с 1 контрагентом. При удалении банка вместо его идентификатора записать NULL в дочерних таблицах.

* Контролировать корректное значение названия банка (не может начинаться с цифры и содержать специальные символы).

Написал вот такой триггер на удаление, но при попытке убрать банк, триггер ругается на мутацию таблицы
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
CREATE OR REPLACE TRIGGER Banks_delete
BEFORE DELETE ON banks
FOR each ROW
DECLARE
    c NUMBER;
BEGIN
SELECT COUNT(contr_id) INTO c FROM accounts WHERE bank_id=:OLD.bank_id AND dayto>sysdate;
    IF c<2 THEN
       UPDATE accounts SET bank_id=NULL WHERE bank_id=:OLD.bank_id;
    ELSE
        raise_application_error(-20000,'Банк '||:OLD.name||' имеет более 1 действующего контракта.');
    END IF;
END;
...
Рейтинг: 0 / 0
04.12.2018, 01:50
    #39742197
tatarinov35
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггеры
...
Рейтинг: 0 / 0
04.12.2018, 09:09
    #39742248
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггеры
Добрый день.
Вы ошиблись форумами.
В соседнем форуме полно тем про мутацию таблиц.
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Триггеры / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]