Порядок выполнения триггера и операторов в хранимой процедуре Oracle

Ниже приведены структуры моей таблицы:

Table -Customer
CustomerID Blacklisted Customer Name
101 Y ABC
102 Y DEF

Table -Blacklist
CustomerID BlacklistID Customer Name
101 1011 ABC
102 1012 DEF

Table -Reason
BlacklistID ReasonID Reason Code
1012 02 Rcode2

Главный стол »Покупатель" это хранить информацию о клиенте. Существует триггер после обновления на столе "Покупатель" вставить запись в таблицуЧерный список" если кто-то обновит черный список как Y в таблице клиентов. Мы считаем клиента занесенным в черный список, если

Столбец в черном списке в таблице Customer как значение 'Y' а также.Для клиентов имеются записи в черном списке и таблице причин.

Теперь мое требование - занести клиента в черный список из бэкэнда. Для этого я пишу хранимую процедуру с запросами ниже:

Обновление набора клиентов в черном списке = 'Y' где customerid = '102' ;выберите BlacklistID в var_id из черного списка, где customerid = '102' ;Вставьте в причину (BlacklistID, ReasonID, ReasonCode) значения (var_ id, 111, 'RCODE1');

Теперь, чтобы вставить запись в таблицу Reason (шаг-3), мне нужен BlacklistID, который является внешним ключом, и я получу значение BlacklistID, как только триггер на клиентской таблице будет превышен. из 'Покупатель' таблица всегда будет освобождена до того, как cntrl достигнет моего оператора INSERT INTO reason (step-3). Пожалуйста, предложите.

Ответы на вопрос(3)

Ваш ответ на вопрос