ACE Director Alum Daniel Morgan, founder of Morgan's Library, is scheduling
complimentary technical Workshops on Database Security for the first 30
Oracle Database customers located anywhere in North America, EMEA, LATAM, or
APAC that send an email to
asra_us@oracle.com. Request a Workshop for
your organization today.
dbms_ddl_internal.check_trigger_firing_property(
trig_owner IN VARCHAR2,
trig_name IN VARCHAR2,
canon_owner OUT VARCHAR2,
canon_oname OUT VARCHAR2,
p_property IN OUT NUMBER,
unsupported_trig OUT BOOLEAN);
conn uwclass/uwclass@pdbdev
CREATE OR REPLACE TRIGGER t_trig
BEFORE UPDATE
ON airplanes
BEGIN
NULL;
END t_trig;
/
conn sys@pdbdev as sysdba
set serveroutput on
DECLARE
co VARCHAR2(30);
cn VARCHAR2(30);
pp NUMBER(10) := 0;
ut BOOLEAN;
BEGIN
dbms_ddl_internal.check_trigger_firing_property('UWCLASS', 'T_TRIG', co, cn,pp, ut);
Returns true of the trigger is a DDL Event Trigger
dbms_ddl_internal.is_ddl_trigger(sys_evts IN NUMBER) RETURN BOOLEAN;
conn sys@pdbdev as sysdba
desc trigger$
SELECT sys_evts, type#, COUNT(*)
FROM trigger$
GROUP BY sys_evts, type#
ORDER BY 1;
-- from sql.bsq
type# number not null, /* trigger type: */
/* 0 = BEFORE TABLE, 1 = BEFORE ROW, 2 = AFTER TABLE, 3 = AFTER ROW */
/* 4 = INSTEAD OF TRIGGER */
-- also see dba_triggers in catprc.sql
set serveroutput on
BEGIN
IF dbms_ddl_internal.is_ddl_trigger(31) THEN
dbms_output.put_line('TRUE');
ELSE
dbms_output.put_line('FALSE');
END IF;
END;
/
BEGIN
IF dbms_ddl_internal.is_ddl_trigger(32) THEN
dbms_output.put_line('TRUE');
ELSE
dbms_output.put_line('FALSE');
END IF;
END;
/