<?xml version="1.0" ?> <replication> <input type="file"> <name>/var/dbre/exchange/test.lre</name> </input> <output type="db"> <type>fb</type> <server>localhost</server> <database>testdb</database> <user>SYSDBA</user> <password>masterke</password> </output> <deleted>1</deleted> <table> <input_name>table1</input_name> <output_name>table1</output_name> <unloaded>1</unloaded> <field> <input_name>id</input_name> <output_name>id</output_name> <type>int</type> <index>1</index> <autoinc>1</autoinc> </field> <field> <input_name>field11</input_name> <output_name>field11</output_name> <type>string</type> </field> <field> <input_name>field12</input_name> <output_name>field12</output_name> <type>timestamp</type> </field> <field> <input_name>field13</input_name> <output_name>field13</output_name> <type>int</type> </field> </table> <table> <input_name>table2</input_name> <output_name>table2</output_name> <field> <input_name>id1</input_name> <output_name>id1</output_name> <type>int</type> <index>1</index> </field> <field> <input_name>id2</input_name> <output_name>id2</output_name> <type>int</type> <index>1</index> <autoinc>1</autoinc> </field> <field> <input_name>field21</input_name> <output_name>field21</output_name> <type>int</type> </field> <field> <input_name>field22</input_name> <output_name>field22</output_name> <type>string</type> </field> <field> <input_name>field23</input_name> <output_name>field23</output_name> <type>int</type> </field> </table> </replication>
alter table TABLE1 add UNLOADED char(1);Для обнуления этого поля в момент изменения записи в таблицу нужно добавить триггер на событие update:
create trigger TABLE1_BU0 for TABLE1 active before update position 0 as begin if (new.UNLOADED = old.UNLOADED) then new.UNLOADED = null; end2. Для выгрузки информации об удалённых записях, в БД нужно добавить таблицу deletedfields:
create table DELETEDFIELDS (TEXT varchar(255));Для занесения в неё данных в каждую контролируемую таблицу нужно добавить триггер на событие before delete:
create trigger TABLE1_BD0 for TABLE1 active before delete position 0 as begin insert into DELETEDFIELDS (TEXT) values ('TABLE1;ID:'||cast(old.ID as varchar(10))||';'); endТриггер должен заносить строку следующего содержания: ИМЯ_ТАБЛИЦЫ;ИМЯ_КЛЮЧЕВОГО_ПОЛЯ1:ЗНАЧЕНИЕ;ИМЯ_КЛЮЧЕВОГО_ПОЛЯN:ЗНАЧЕНИЕ;