>>
>>set schema CAT1.SCHM;

--- SQL operation complete.
>>obey TEST_6_4_1(set_up);
>>
>>INSERT INTO tab1A VALUES (1,2,3,4);

--- 1 row(s) inserted.
>>INSERT INTO tab1A VALUES (2,3,4,5);

--- 1 row(s) inserted.
>>INSERT INTO tab1A VALUES (3,4,5,6);

--- 1 row(s) inserted.
>>
>>---------------------------------
>>-- DEFINE TRIGGER btrigA
>>---------------------------------
>>
>>CREATE TRIGGER btrigA
+>BEFORE UPDATE OF (b) 
+>ON tab1A
+>REFERENCING NEW AS newR, OLD AS oldR FOR EACH ROW
+>WHEN (newR.b = oldR.b +1)
+>SET newR.b = oldR.b +2;

--- SQL operation complete.
>>
>>---------------------------------
>>-- DEFINE TRIGGER btrigB
>>---------------------------------
>>
>>CREATE TRIGGER btrigB
+>BEFORE UPDATE OF (b) 
+>ON tab1A
+>REFERENCING NEW AS newR, OLD AS oldR FOR EACH ROW
+>WHEN (newR.b = oldR.b +2)
+>SET newR.b = oldR.b +3;

--- SQL operation complete.
>>obey TEST_6_4_1(tests);
>>
>>------------------------------------------------------------------
>>--          TEST CASE
>>------------------------------------------------------------------
>>
>>UPDATE tab1A SET b = b+1 WHERE a<3;

--- 2 row(s) updated.
>>
>>SELECT * FROM tab1A ORDER BY a;

A            B            C            D            
-----------  -----------  -----------  -----------  

          1            5            3            4  
          2            6            4            5  
          3            4            5            6  

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

--- 0 row(s) deleted.
>>
>>-- delete from table (index_table tab1a_i2);
>>-- delete from table (index_table tab1b_i1);
>>-- delete from table (index_table cat3.schm.tab3a_i1);
>>-- delete from table (index_table t1_i1);
>>-- delete from table (index_table t1_i2);
>>-- delete from table (index_table t3_i2);
>>
>>
>>SET SCHEMA cat1.schm_alt;

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

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

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

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

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

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

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

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

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

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

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

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

--- SQL operation complete.
>>obey TEST_6_4_1(set_up);
>>
>>INSERT INTO tab1A VALUES (1,2,3,4);

--- 1 row(s) inserted.
>>INSERT INTO tab1A VALUES (2,3,4,5);

--- 1 row(s) inserted.
>>INSERT INTO tab1A VALUES (3,4,5,6);

--- 1 row(s) inserted.
>>
>>---------------------------------
>>-- DEFINE TRIGGER btrigA
>>---------------------------------
>>
>>CREATE TRIGGER btrigA
+>BEFORE UPDATE OF (b) 
+>ON tab1A
+>REFERENCING NEW AS newR, OLD AS oldR FOR EACH ROW
+>WHEN (newR.b = oldR.b +1)
+>SET newR.b = oldR.b +2;

--- SQL operation complete.
>>
>>---------------------------------
>>-- DEFINE TRIGGER btrigB
>>---------------------------------
>>
>>CREATE TRIGGER btrigB
+>BEFORE UPDATE OF (b) 
+>ON tab1A
+>REFERENCING NEW AS newR, OLD AS oldR FOR EACH ROW
+>WHEN (newR.b = oldR.b +2)
+>SET newR.b = oldR.b +3;

--- SQL operation complete.
>>obey TEST_6_4_1(tests);
>>
>>------------------------------------------------------------------
>>--          TEST CASE
>>------------------------------------------------------------------
>>
>>UPDATE tab1A SET b = b+1 WHERE a<3;

--- 2 row(s) updated.
>>
>>SELECT * FROM tab1A ORDER BY a;

A            B            C            D            
-----------  -----------  -----------  -----------  

          1            5            3            4  
          2            6            4            5  
          3            4            5            6  

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