From the docs:

Restrictions:

You can specify a trigger restriction only for a row trigger. Oracle evaluates this condition for each row affected by the triggering statement.

You cannot specify trigger restrictions for INSTEAD OF trigger statements.

You can reference object columns or their attributes, or varray, nested table, or LOB columns. You cannot invoke PL/SQL functions or methods in the trigger restriction.

 
Waleed



-----Original Message-----
From: Jesse, Rich [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, September 11, 2002 12:40 PM
To: Multiple recipients of list ORACLE-L
Subject: User-defined functions in WHEN clause of a trigger


Hey all,

The subject says it all.  In 8.1.7, can I:

        CREATE OR REPLACE TRIGGER my_trigger
        BEFORE UPDATE ON my_table
        FOR EACH ROW
        WHEN (my_function = 'SOME VALUE')
        BEGIN
                blah....
        END my_trigger;

Everytime I try to compile this, I get an "ORA-4076: invalid NEW or OLD
specification".  But I can specify a builtin function, e.g.:

        WHEN (SYS_CONTEXT('USERENV','HOST') = 'MYHOST')

I've RTFM'd and tried Metalink as well, but I haven't been able to find
anything that says I can't use a user-defined function here.

Anyone?

Rich Jesse                           System/Database Administrator
[EMAIL PROTECTED]              Quad/Tech International, Sussex, WI USA
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author: Jesse, Rich
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).

Reply via email to