SendTrigger オプションが ON に設定されている場合にトリガーでの操作が同期されるようにするには、そのトリガーでの操作が、同期されているパブリケーションのテーブルに対して行われる必要があります。トリガーを起動した基本の操作もパブリケーション内に存在することが必要なわけではありません。
dbmlsync は単一のローに対して行われる操作を結合しますが、SendTrigger オプションが ON に設定されている場合は、トリガーを起動した基本の操作が別の操作に結合されていても、トリガー内で起動されるすべての操作が送信されます。
外部キーに対する組み込み参照整合性アクション (ON DELETE CASCADE と ON UPDATE CASCADE) はトリガーの動作と見なされ、SendTrigger オプションが ON に設定されないかぎり同期されません。1 つの例外は、参照整合性アクションが、すでにアップロードストリーム内にあるローに対して行われる場合です。この場合、システム生成トリガー内の参照整合性アクションは、次の例で示すように、すでにアップロードストリーム内にあるローのステータスと結合されます。
この例では、Parent テーブルと Child テーブル間に外部キーがあり、参照整合性アクション ON DELETE CASCADE が使用されます。
INSERT INTO Parent (pid, pname) values ( 100, 'Amy' );
INSERT INTO Child (cid, pid, cname) values ( 2000, 100, 'Alex' );
COMMIT;
DELETE FROM Parent WHERE pid = 100;
COMMIT;