Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> RE: Enforced Costraints ??

RE: Enforced Costraints ??

From: Rahul <rahul_at_ratelindo.co.id>
Date: Tue, 12 Jun 2001 00:36:16 -0700
Message-ID: <F001.00324E40.20010612002521@fatcity.com>

but if the tables already contains dup records, how can u make a unique constraint ? (even with "enable novalidate")

> ----------
> From: Anshumn[SMTP:anshumn.sagar_at_wipro.com]
> Sent: Tuesday, June 12, 2001 12:30 PM
> To: Rahul
> Subject: Re: Enforced Costraints ??
>
> Hi Rahul,
>
> That is true. In Oracle 8, there is option to enable the constraint in
> novalidate mode or validate mode. The novalidate mode is the enforce mode,
> where only the forthcoming data is checked. It does not check the exisitng
> data. The validate mode is the normal constraint enable mode.
>
> The syntax is
> Alter table table enable novalidate constraint name;
>
> So after I put the constraint in the novalidate mode, the uniqueness will
> be checked only amongst the coming data. But if later I set the constraint
> ti validate mode(enable), then it may give error as the loaded data was
> never checked for uniqueness with the exisitng data. In this case I am
> very much confused with the usefulness of this feature.
> Can you please give any inputs for the same to clear my doubts ?
>
> Thanks & Regards,
> Anshumn
>
> Rahul wrote:
>
> Anshuman,
>
> whenever u add a constraint to a table, oracle will make sure all
> the data
> (if any)
> confirms to the constraint added....
>
> you can enable or disable a constraint (even defer)... dont confuse
> urself
> with the term "enforcing a constraint".
>
> Regards
> Rahul
>
> > ----------
> > From: Anshumn[SMTP:anshumn.sagar_at_wipro.com]
> > Sent: Tuesday, June 12, 2001 11:26 AM
> > To: LazyDBA.com Discussion
> > Subject: Enforced Costraints ??
> >
> > Hi gurus,
> >
> > Please help me to know the difference between enabling and
> enforcing a
> > constraint. I need it urgently.
> >
> > As per my knowledge, enabling a constraint checks for the
> > existing data to apply that constraint and then the constraint is
> > applied for the forthcoming data. Whereas enforcing a constraint
> does
> > not check the existing records and the constraint is only applied
> to the
> >
> > forthcoming data only. Is it correct ?
> >
> > Suppose I have a 'unique' constraint. If I enforce this
> constraint, then
> >
> > for checking the uniqueness criteria, will not it check the
> existing
> > records to determine whether the coming record is unique or not ?
> If it
> > checks for the uniqueness among the forthcoming records only, then
> I
> > have a doubt. In this case I may have loaded a record, with a
> value
> > which is already present in the existing data(Since the existing
> data
> > was not checked while enforcing the constraint). Now if I enable
> the
> > constraint, then that time it will check all the records for
> uniqueness.
> >
> > How does it work in that case ? Won't it give me an error ? Then
> how
> > good is the use of an enforced constraint ?
> >
> > Please give your valuable feedback to clear this doubt. I need it
> > urgently.
> >
> > Thanks in advance,
> > Anshumn
> >
>
>
>

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Rahul
  INET: rahul_at_ratelindo.co.id

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: ListGuru_at_fatcity.com (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).
Received on Tue Jun 12 2001 - 02:36:16 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US