create or replace trigger my_restrictions on
my_table after insert or update as
declare
unacceptable_values exception;
begin
begin
if :new.my_restricted_column not in ('Blah1','blah2','Blah3') then
--- Grrr .. user errored
spank_user;
raise unacceptable_values;
end if;
end;
exception
when unacceptable_values then
raise_application_error(20001,'You entered incorrect values, go spank yourself.');
when others then
raise;
end;
/
this should pretty much handle it for you ... don't take this code at its face value, there could be syntactic errors .. I just wrote on the fly.
Raj
______________________________________________________
Rajendra Jamadagni MIS, ESPN Inc.
Rajendra dot Jamadagni at ESPN dot com
Any opinion expressed here is personal and doesn't reflect that of ESPN Inc.
QOTD: Any clod can have facts, but having an opinion is an art!
-----Original Message-----
From: Aidan Whitehall [mailto:[EMAIL PROTECTED]]
Sent: Thursday, January 30, 2003 11:01 AM
To: Multiple recipients of list ORACLE-L
Subject: Restricting the range of values in a field
Is there any way you can specify that the only permissible values (is it
called a domain?) that can be entered in varchar2 field in an Oracle
table to, for example, A, B and C?
We can restrict what values users can enter at the application level,
but it would be nice to be able to also restrict what can be entered at
the database level, in case other means of entering data are ever used
or if the application layer fails, for whatever reason, to trap an
unwanted value.
Thanks
--
Aidan Whitehall <[EMAIL PROTECTED]>
Macromedia ColdFusion Developer
Fairbanks Environmental Ltd +44 (0)1695 51775
________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
--
Please see the official ORACLE-L FAQ: http://www.orafaq.net
--
Author: Aidan Whitehall
INET: [EMAIL PROTECTED]
Fat City Network Services -- 858-538-5051 http://www.fatcity.com
San Diego, California -- Mailing list and web hosting services
---------------------------------------------------------------------
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).
*********************************************************************This e-mail message is confidential, intended only for the named recipient(s) above and may contain information that is privileged, attorney work product or exempt from disclosure under applicable law. If you have received this message in error, or are not the named recipient(s), please immediately notify corporate MIS at (860) 766-2000 and delete this e-mail message from your computer, Thank you.*********************************************************************1
