>>obey TEST_SPJC_FUNC_008(tests);
>>
>>------------------------------------------------------------------
>>-- TEST CASE 01: Combination of a recursive and non recursive trigger
>>-- Result: Success
>>------------------------------------------------------------------
>>
>>-- TRIG01_SPJC_FUNC_008 and TRIG02_SPJC_FUNC_008 fire each other
>>CREATE TRIGGER TRIG01_SPJC_FUNC_008 AFTER DELETE ON
+>TAB01_SPJC_FUNC_008
+>REFERENCING OLD ROW AS O
+>FOR EACH ROW
+>	INSERT INTO TAB02_SPJC_FUNC_008 VALUES (O.A, O.B, O.C, O.D);

--- SQL operation complete.
>>
>>CREATE TRIGGER TRIG02_SPJC_FUNC_008 AFTER INSERT ON
+>TAB02_SPJC_FUNC_008
+>REFERENCING NEW ROW AS N
+>FOR EACH ROW
+>	DELETE FROM TAB01_SPJC_FUNC_008
+>		WHERE TAB01_SPJC_FUNC_008.D = N.A + N.D + 2;

--- SQL operation complete.
>>
>>-- TRIG03_SPJC_FUNC_008 is non recursive
>>CREATE TRIGGER TRIG03_SPJC_FUNC_008 AFTER UPDATE ON
+>TAB01_SPJC_FUNC_008
+>REFERENCING NEW ROW AS N, OLD ROW AS O
+>FOR EACH ROW
+>	INSERT INTO TAB03_SPJC_FUNC_008 VALUES (O.A, O.B, O.C, O.D);

--- SQL operation complete.
>>
>>------------------------------------------------------------------
>>
>>-- original table
>>select * from TAB01_SPJC_FUNC_008;

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

          1            2            3            4
          8            6            4            2
          3            6            9           12
          3            6            9           12
          3            6            9           12

--- 5 row(s) selected.
>>
>>-- The tests
>>
>>BEGIN
+>-- Triggers an insert of old values into TAB02_SPJC_FUNC_008
+>-- which in turn deletes rows with D = 12, effectively
+>-- deleting all except one row in TAB01_SPJC_FUNC_008
+>-- Raises a warning that trigger may be triggered recursively more
+>-- than 16 times
+>	DELETE FROM TAB01_SPJC_FUNC_008 where a = 8;
+>
+>--  fires non recursive trigger
+>	UPDATE TAB01_SPJC_FUNC_008 set a = a + 100;
+>END;

*** WARNING[11002] Trigger CAT1.SCHM.TRIG01_SPJC_FUNC_008 on table CAT1.SCHM.TAB01_SPJC_FUNC_008 may be triggered recursively more than 16 times.

--- SQL operation completed with warnings.
>>
>>
>>-- Result: TAB01_SPJC_FUNC_008 has one row
>>select * from TAB01_SPJC_FUNC_008;

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

        101            2            3            4

--- 1 row(s) selected.
>>
>>-- Result: TAB02_SPJC_FUNC_008 has four rows
>>select * from TAB02_SPJC_FUNC_008;

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

          8            6            4            2
          3            6            9           12
          3            6            9           12
          3            6            9           12

--- 4 row(s) selected.
>>
>>-- Result: TAB03_SPJC_FUNC_008 has one row
>>select * from TAB03_SPJC_FUNC_008;

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

          1            2            3            4

--- 1 row(s) selected.
>>------------------------------------------------------------------
>>LOG;
