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.
-----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).