blob: de77bc3a5771b23c66b88bcb188f25960db7db52 [file] [log] [blame]
>>obey TEST_SPJC_FUNC_004(tests);
>>
>>------------------------------------------------------------------
>>-- TEST CASE 01: Row trigger on insert.
>>-- Result: Success
>>------------------------------------------------------------------
>>
>>CREATE TRIGGER TRIG01_SPJC_FUNC_004 AFTER INSERT ON
+>TAB01_SPJC_FUNC_004
+>REFERENCING NEW ROW AS N
+>FOR EACH ROW
+> INSERT INTO TAB02_SPJC_FUNC_004 VALUES (N.A, N.B, N.C, N.D);
--- SQL operation complete.
>>
>>------------------------------------------------------------------
>>
>>------------------------------------------------------------------
>>-- TEST CASE 02: Row trigger on update.
>>-- Result: Success
>>------------------------------------------------------------------
>>
>>CREATE TRIGGER TRIG02_SPJC_FUNC_004 AFTER UPDATE ON
+>TAB01_SPJC_FUNC_004
+>REFERENCING OLD ROW AS O
+>FOR EACH ROW
+> INSERT INTO TAB02_SPJC_FUNC_004 VALUES (O.A, O.B, O.C, O.D);
--- SQL operation complete.
>>
>>------------------------------------------------------------------
>>
>>------------------------------------------------------------------
>>-- TEST CASE 03: Row trigger on delete.
>>-- Result: Success
>>------------------------------------------------------------------
>>
>>CREATE TRIGGER TRIG03_SPJC_FUNC_004 AFTER DELETE ON
+>TAB01_SPJC_FUNC_004
+>REFERENCING OLD ROW AS O
+>FOR EACH ROW
+> INSERT INTO TAB02_SPJC_FUNC_004 VALUES (O.A, O.B, O.C, O.D);
--- SQL operation complete.
>>
>>------------------------------------------------------------------
>>
>>-- original table
>>select * from TAB01_SPJC_FUNC_004;
A B C D
----------- ----------- ----------- -----------
1 2 3 4
8 6 4 2
3 6 9 12
--- 3 row(s) selected.
>>
>>-- The tests
>>
>>BEGIN
+>-- triggers an insert of new values
+> INSERT INTO TAB01_SPJC_FUNC_004 VALUES(101, 201, 301, 401);
+>
+>-- triggers an insert of old values
+> UPDATE TAB01_SPJC_FUNC_004 set a = a + 1000, b = b + 1000,
+> c = c + 1000, d = d + 1000 where a = 3;
+>
+>-- triggers an insert of old values
+> DELETE FROM TAB01_SPJC_FUNC_004 where a = 8;
+>END;
--- SQL operation complete.
>>
>>
>>-- Result: TAB01_SPJC_FUNC_004 has three rows
>>select * from TAB01_SPJC_FUNC_004;
A B C D
----------- ----------- ----------- -----------
1 2 3 4
1003 1006 1009 1012
101 201 301 401
--- 3 row(s) selected.
>>
>>-- Result: TAB02_SPJC_FUNC_004 has three rows {101, 201, 301, 401},
>>-- {3, 6, 9, 12}, {8, 6, 4, 2}
>>select * from TAB02_SPJC_FUNC_004;
A B C D
----------- ----------- ----------- -----------
101 201 301 401
3 6 9 12
8 6 4 2
--- 3 row(s) selected.
>>------------------------------------------------------------------
>>log;