This blog articles offers a few examples of what can be done and needs to be done.
In particular, this error occurs when a row-level trigger attempts to read or write the table from which the trigger was fired.
Fortunately, the same restriction does not apply in statement-level triggers.
More reliable - you don't have to worry about managing the session-persistent collection.
Less code - always a nice thing, as long as the "less code" is also understandable and easy to maintain.
So I declare a variable in the compound trigger and reference it in both trigger events.
Take a look: CREATE OR REPLACE TRIGGER equitable_salary_trg FOR UPDATE OR INSERT ON employees COMPOUND TRIGGER TYPE id_salary_rt IS RECORD ( employee_id employees.employee_id%TYPE , salary employees.salary%TYPE ); TYPE row_level_info_t IS TABLE OF id_salary_rt INDEX BY PLS_INTEGER; g_row_level_info row_level_info_t; AFTER EACH ROW IS BEGIN g_row_level_info (g_row_level_info.
The problem that we need to solve is set the _GEOMETRY column is detected by the trigger.
The processing is to be done via a trigger so that we get a single, consistent, approach to detecting changed data from multiple client (vendor) software processing.
Then I demonstrate how to use the compound trigger, added in Oracle Database 11g Release1, to solve the problem much more simply.