три разных триггера для одной и той же таблицы, когда нужен уникальный идентификатор для вставки - PullRequest
0 голосов
/ 08 июня 2018

У меня есть таблица POI для достопримечательностей с 3 триггерами.

  • Один получить географическую информацию.Штат, Город, Улица, основанная на X, Y.
  • Во-вторых, сделайте некоторую проверку содержимого поля и выведите ошибку при любом нарушении.
  • В-третьих, создайте запись аудита о том, какие изменения и кто внес эти изменения.

Раньше эта таблица обрабатывалась с помощью mapinfo, поэтому перед вставкой у них был создан уникальный сгенерированный идентификатор для mapinfo.

Теперь мы переходим в QGIS, и у этой программы нетуникальный идентификатор.По моему пониманию, оракул до v12 не имеет поля автоинкремента, поэтому необходимо использовать последовательность для получения уникального идентификатора.

Теперь моя проблема заключается в том, как создать одно уникальное значение для POI, когда есть три разных триггера?

Должен ли я провести рефакторинг всех трех триггеров в отдельных функциях и вызвать их из одного триггера, где я получу sequence.nextval?Или есть другой способ обновить текущую функцию, чтобы использовать тот же идентификатор?

Я действительно не хочу касаться этих триггеров, потому что они являются частью унаследованного приложения.Но я не вижу другого обходного пути.

...