O czym
O nowości w Oracle 11g, która daje możliwość określenia kolejności wykonywania w ramach tego samego punktu wywołania.
Wyzwalacze w Oracle 11g
W Oracle 10g wymuszenie określonej kolejności (w ramach tego samego punkty wywołania) wymagało połączenia wyzwalaczy.
CREATE TABLE TAB AS SELECT * FROM DUAL;
CREATE TRIGGER on_update1 BEFORE UPDATE ON TAB BEGIN dbms_output.put_line('on_update1'); dbms_output.put_line('on_update1'); END;
W Oracle 11g wprowadzono klauzulę FOLLOWS, która pozwala określić kolejność wykonywania trigger’ów (przy spełnieniu pewnych wymagań).
CREATE OR REPLACE TRIGGER on_update2 BEFORE UPDATE ON TAB FOLLOWS on_update1 BEGIN dbms_output.put_line('on_update2'); END; / UPDATE tab SET dummy = dummy;
Klauzula FOLLOWS nie umożliwia wymuszenia kolejności w różnych punktach wywołania – nawet dla wyzwalaczy tego samego typu.