But before I get to that, let's finish up the old-style approach. BEGIN UPDATE employees SET salary = 100000 WHERE last_name = 'King'; ROLLBACK; END; add_employee_info: 100-100000 add_employee_info: 156-100000 make_equitable max allowed 52500 make_equitable emp id and salary: 100-100000 compound DML trigger created on a table or editioning view can fire at multiple timing points.Each timing point section has its own executable part and optional exception-handling part, but all of these parts can access a common PL/SQL state.The traditional (now, out-of-date) solution is to define a package that contains a collection defined at the package level. So I can add information to the collection within the row-level trigger, and it will still be there when I bubble up to the statement-level trigger. CREATE OR REPLACE PACKAGE BODY equitable_salaries_pkg IS TYPE id_salary_rt IS RECORD ( employee_id employees.employee_id%TYPE , salary employees.salary%TYPE ); TYPE g_emp_info_t IS TABLE OF id_salary_rt INDEX BY PLS_INTEGER; g_emp_info g_emp_info_t; g_corrections_in_process BOOLEAN := FALSE; PROCEDURE initialize IS BEGIN g_emp_info.
We're hoping to avoid the need to post process the information collected in the field by automatically calculating result fields based on an equation that uses data entered in other fields.
As such, to correctly detect changes to such objects one must have recourse to different techniques.
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.
In this post, I demonstrate the kind of scenario that will result in an ORA-04091 errors.
I then show the "traditional" solution, using a collection defined in a package.The common state is established when the triggering statement starts and is destroyed when the triggering statement completes, even when the triggering statement causes an error.ne variables which persist through the execution of the steps defined in the compound trigger.The table we shall process is the following: Jum, Thanks for the comments. I have two tables: Product Table and purchase table.purchase table has supplier_id, Product_id, quantity, price etc and Product table has product_id, name, type etc.