>>
>>set schema CAT1.SCHM;

--- SQL operation complete.
>>obey TEST_5_5_1(set_up);
>>INSERT INTO cat3.schm.tab3A VALUES (1,1);

--- 1 row(s) inserted.
>>INSERT INTO cat3.schm.tab3A VALUES (2,10);

--- 1 row(s) inserted.
>>INSERT INTO cat3.schm.tab3A VALUES (3,3);

--- 1 row(s) inserted.
>>
>>---------------------------------
>>-- DEFINE TRIGGER atrig551
>>---------------------------------
>>
>>
>>CREATE TRIGGER atrig551
+>AFTER INSERT ON tab1B
+>REFERENCING NEW AS newT
+>INSERT INTO cat2.schm.tab2A (SELECT * FROM newT);

--- SQL operation complete.
>>
>>---------------------------------
>>-- DEFINE TRIGGER btirg551
>>---------------------------------
>>
>>
>>CREATE TRIGGER btrig551
+>BEFORE INSERT ON cat2.schm.tab2A
+>REFERENCING NEW AS newR
+>FOR EACH ROW
+>WHEN (newR.b = newR.a) SET newR.b = 100;

--- SQL operation complete.
>>obey TEST_5_5_1(tests);
>>
>>------------------------------------------------------------------
>>--          TEST CASE
>>------------------------------------------------------------------
>>
>>INSERT INTO tab1B (SELECT * FROM cat3.schm.tab3A);

--- 3 row(s) inserted.
>>
>>SELECT * FROM cat2.schm.tab2A;

A            B            
-----------  -----------  

          1          100  
          2           10  
          3          100  

--- 3 row(s) selected.
>> -- check result
>>
>>------------------------------------------------------------------
>>--           END
>>------------------------------------------------------------------
>>obey TEST_5_5_1(clean_up);
>>DROP TRIGGER atrig551;

--- SQL operation complete.
>>DROP TRIGGER btrig551;

--- SQL operation complete.
>>------------------------------------------------------------------
>>obey clearTables;
>>SET SCHEMA cat1.schm;

--- SQL operation complete.
>>DELETE FROM tab1A;

--- 0 row(s) deleted.
>>DELETE FROM tab1B;

--- 3 row(s) deleted.
>>
>>DELETE FROM cat2.schm.tab2A;

--- 3 row(s) deleted.
>>DELETE FROM cat2.schm.tab2B;

--- 0 row(s) deleted.
>>DELETE FROM cat3.schm.tab3A;

--- 3 row(s) deleted.
>>
>>SET SCHEMA cat1.schm_alt;

--- SQL operation complete.
>>DELETE FROM tab1A;

--- 0 row(s) deleted.
>>DELETE FROM tab1B;

--- 0 row(s) deleted.
>>
>>SET SCHEMA cat1.schm;

--- SQL operation complete.
>>
>>
>>-- switch schemas
>>set schema CAT1.SCHM_ALT;

--- SQL operation complete.
>>obey TEST_5_5_1(set_up);
>>INSERT INTO cat3.schm.tab3A VALUES (1,1);

--- 1 row(s) inserted.
>>INSERT INTO cat3.schm.tab3A VALUES (2,10);

--- 1 row(s) inserted.
>>INSERT INTO cat3.schm.tab3A VALUES (3,3);

--- 1 row(s) inserted.
>>
>>---------------------------------
>>-- DEFINE TRIGGER atrig551
>>---------------------------------
>>
>>
>>CREATE TRIGGER atrig551
+>AFTER INSERT ON tab1B
+>REFERENCING NEW AS newT
+>INSERT INTO cat2.schm.tab2A (SELECT * FROM newT);

--- SQL operation complete.
>>
>>---------------------------------
>>-- DEFINE TRIGGER btirg551
>>---------------------------------
>>
>>
>>CREATE TRIGGER btrig551
+>BEFORE INSERT ON cat2.schm.tab2A
+>REFERENCING NEW AS newR
+>FOR EACH ROW
+>WHEN (newR.b = newR.a) SET newR.b = 100;

--- SQL operation complete.
>>obey TEST_5_5_1(tests);
>>
>>------------------------------------------------------------------
>>--          TEST CASE
>>------------------------------------------------------------------
>>
>>INSERT INTO tab1B (SELECT * FROM cat3.schm.tab3A);

--- 3 row(s) inserted.
>>
>>SELECT * FROM cat2.schm.tab2A;

A            B            
-----------  -----------  

          1          100  
          2           10  
          3          100  

--- 3 row(s) selected.
>> -- check result
>>
>>------------------------------------------------------------------
>>--           END
>>------------------------------------------------------------------
>>
>>-- end logging
>>LOG;
