Quantcast
Channel: SQL Server Replication forum
Viewing all articles
Browse latest Browse all 4054

Oracle Publisher row level triggers

$
0
0

We are using Oracle publisher to replicate data from oracle to SQL server,everything works well but i see the rowlevel triggers captures old data and new data also so i am seeing duplicates records in HREPL_POLL for two operations,any idea why its tracks old data?its slowing the process as we are having multiple records.As per the trigger logic whenever updates happens its stores old data and new data,can it update data basing on primary key?or its the expected behavior

/* Formatted on 8/30/2019 10:06:55 AM (QP5 v5.256.13226.35510) */
CREATE OR REPLACE TRIGGER HREPL_ARTICLE545_TRIGGER_ROW
   AFTER DELETE OR INSERT OR UPDATE
   ON "FLXUSER"."TEST"
   FOR EACH ROW
DECLARE
   Seq         NUMBER := 0;
   Stmt        NUMBER;
   Op1         NUMBER := 0;
   Op2         NUMBER := 0;
   EntryTime   NUMBER
                  := ROUND (TO_NUMBER ( (SYSDATE - HREPL.BaseTimeT) * 86400));
BEGIN
   IF HREPL.SQLORIGINATOR = FALSE
   THEN
      BEGIN
         SELECT HREPL_SEQ.NEXTVAL INTO Seq FROM DUAL;

         IF     UPDATING
            AND (   :old."ID" != :new."ID"
                 OR :old."NUM" != :new."NUM")
         THEN
            SELECT HREPL_STMT.CURRVAL INTO Stmt FROM DUAL;

            Op1 := '15';
            OP2 := '16';
         ELSE
            IF INSERTING
            THEN
               Op2 := '2';
            ELSIF DELETING
            THEN
               Op1 := '1';
            ELSE
               Op1 := '3';
               Op2 := '4';
            END IF;
         END IF;

         IF UPDATING OR DELETING
         THEN
            INSERT INTO HREPL_ARTICLE545LOG_1
                 VALUES (Seq,
                         Stmt,
                         Op1,
                         0,
                         EntryTime,
                         :old."ID",
                         :old."NUM");
         END IF;

         IF UPDATING OR INSERTING
         THEN
            INSERT INTO HREPL_ARTICLE545LOG_1
                 VALUES (Seq,
                         Stmt,
                         Op2,
                         0,
                         EntryTime,
                         :new."ID",
                         :new."NUM");
         END IF;
      END;
   END IF;
END;
/


Viewing all articles
Browse latest Browse all 4054

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>