Database triggers can be defined as row-level or statement-level triggers. All the triggers we have seen so far in Chapter 1, Defining a Data Model for Spatial Data Storage, are defined as row-level triggers; that means the trigger is executed for each row of the table that is inserted, deleted, or updated. In some cases, we do not want the trigger to execute for each row, but we want it to execute for the whole SQL statement. For example, consider the following two SQL statements:
Insert Into LAND_PARCELS Values(3326028, '0026T05AA', '0026T', '055A', '2655', 'HYDE', '1 ST', 'HYDE', 'ST', 'O', SDO_GEOMETRY(2003, 2872, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1), SDO_ORDINATE_ARRAY(6006801.83, 2121396.9, 6006890.33, 2121409.23, 6006878.19, 2121495.89, 6006788.97, 2121483.45 )), NULL); Insert Into LAND_PARCELS Select * From TEMP_LAND_PARCELS;
Let's assume that the TEMP_LAND_PARCELS
table has ten rows. The first statement inserts one row into the...