Oracle trigger if updating then tracey edmonds dating who

09-Jul-2017 14:52

This is because compound trigger in oracle 11g has a declarative section where one can declare variable to be used within trigger.This common state is established at the start of triggering statement and is destroyed after completion of trigger (regardless of trigger being in error or not).If same had to be done without compound-trigger, it might have been required to share data using packages.The compound trigger is useful when you want to accumulate facts that characterize the “for each row” changes and then act on them as a body at “after statement” time.And at last, as part of AFTER STATEMENT we flush any remaining data left in buffer. EMP_ID); v_emp_changes(v_index).to_value := to_char(: NEW. EMP_ID); v_emp_changes(v_index).action := 'Update'; END IF; IF ( (: OLD. To do this, it will be needed to get the maximum value of salary in the ’employees’ table, and such calculation can be made in BEFORE STATEMENT section and stored in variable.--Trigger CREATE OR REPLACE TRIGGER aud_emp FOR INSERT OR UPDATE ON employees COMPOUND TRIGGER TYPE t_emp_changes IS TABLE OF aud_emp%ROWTYPE INDEX BY SIMPLE_INTEGER; v_emp_changes t_emp_changes; v_index SIMPLE_INTEGER := 0; v_threshhold CONSTANT SIMPLE_INTEGER := 1000; --maximum number of rows to write in one go. Hope that helped to have a better understanding of Compound Triggers in Oracle.

END AFTER STATEMENT; END The following code creates a test table and a compound trigger that fires for each timing point associated with insert, update and delete statements.

Two popular reasons to use compound trigger are: CREATE OR REPLACE TRIGGER compound_trigger_name FOR [INSERT|DELETE]UPDATE [OF column] ON table COMPOUND TRIGGER -- Declarative Section (optional) -- Variables declared here have firing-statement duration.