Title: RE: Restricting the range of values in a field

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


Reply via email to