Skip to main content

Настройка базы данных Oracle для синхронизации

Для подключения синхронизации, требуется создать триггер на основную таблицу, которую нужно отслеживать.

Ниже приведён шаблон PL/SQL кода для создания требуемого триггера.

Параметр Описание Пример
schema_nameНазвание схемы базы данныхORGANIZACIYA
table_name Название таблицы в схеме базы данных, над которой происходит синхронизация ORGANIZACIYA
entity_id

ИД сущности, ранее зарегистрированной в системе

Данный ИД можно узнать у команды разработчиков

78
CREATE OR REPLACE TRIGGER <:schema_name>.<:table_name>_SYNC AFTER DELETE OR INSERT OR UPDATE
ON <:table_name>
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE
   entity_id   NUMBER := <:entity_id>;
BEGIN
   IF INSERTING
   THEN
      OTCHET.sync(:NEW.id, entity_id,'<:schema_name>', '<:table_name>', 1);
   ELSIF UPDATING
   THEN
      OTCHET.sync(:OLD.id, entity_id,'<:schema_name>', '<:table_name>', 3);
   ELSIF DELETING
   THEN
      OTCHET.sync(:OLD.id, entity_id,'<:schema_name>', '<:table_name>', 2);
   END IF;
EXCEPTION
   WHEN OTHERS
   THEN
      NULL;
END;
/

При выполнении данного запроса в базе данных, замените переменные вашими значениями.

 

Если требуется более сложная синхронизация, то можно использовать вашу ИД Сущности в других процедурах или триггерах, но primary_key должен быть первичным ключом именно той таблицы, которую описывает данная сущность.