Мы собираемся провести параллельное тестирование, чтобы сравнить устаревшую систему с новой блестящей версией. У нас есть таблица базы данных Oracle A, в которой хранятся данные для унаследованной системы, и эквивалентная таблица B, в которой хранятся данные для новой системы, поэтому на время теста база данных денормализована. (Кроме того, прежняя система и таблица A исправлены - изменения не допускаются)
Что я хочу сделать, это разрешить редким операциям DML на A распространяться на B и наоборот. Я начал с пары триггеров, чтобы сделать это, но столкнулся с очевидной проблемой: когда триггеры запускаются, таблицы изменяются и выдается исключение.
Есть ли стандартный способ решения этой проблемы? Я читал разные отчеты о том, стоит ли использовать dbms_scheduler ...
Спасибо
Andy
Обновление:
Я закончил разгадывать всю проблему и гарантировал, что все хранимые процедуры, которые обновляют A, также обновляют B, и наоборот.
Я пометил ответ Кассной как принятый, потому что я последую его советам, если столкнусь с той же проблемой в будущем.
Я пометил ответ JosephStyon, потому что я кратко заставил все работать, добавив два триггера уровня оператора вставки / обновления в таблицы A и B, а затем выполнил процедуру слияния, используя A или B в качестве главной таблицы, в зависимости от того, какой триггер побежал (хотя сначала я проверил, что целевая таблица будет изменена слиянием, в противном случае - раньше).