Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: Help with sql identifying dup constraints
But the "duplicates" were surely check constraints (sys.cdef$.type# = 1) and there was only one "not null" check constraint (sys.cdef$.type# = 7) Even in 8.1 you could only have one "not null" check constraint (type# = 7). I don't remember ever trying it on 8.1.4 but it's definitely true on 8.1.6.
e.g. you get different type# values in sys.cdef$ for constraint X versus constraint Y in this example, even though, looking at dba_constraints, they seem to have identical characteristics.
create table t
(n1 number constraint X not null,
n2 number,
constraint Y check ("N2" IS NOT NULL)
) ;
8.1.6
SQL> select * from v$version ;
BANNER
SQL> create table t (n number not null) ; Table créée.
SQL> alter table t modify (n not null) ; alter table t modify (n not null)
*
From: oracle-l-bounce_at_freelists.org [mailto:oracle-l-bounce_at_freelists.org] On Behalf Of Duret, Kathy
Sent: jeudi, 10. juin 2004 07:31
To: 'oracle-l_at_freelists.org'
Subject: RE: Help with sql identifying dup constraints
well, you can, at least in 8.1.4
When I came here I found up to 10 not null constraints on the same columns.
Got them all off and found some again.... seemed the other choke ... dba.... didn't understand that not null was a check constraints and for some reason kept putting them on ... I think via Toad (I never get a straight answer from him) Then we I showed him on some new tables he created all the dups, instead of deleted them, he disabled them all.....
gotta love it. if there is a way in Oracle someone can use and abuse it!
Kathy
-----Original Message----- From: Jacques Kilchoer [mailto:Jacques.Kilchoer_at_quest.com] Sent: Wednesday, June 09, 2004 5:23 PM To: oracle-l_at_freelists.org Cc: Barbara Baker Subject: RE: Help with sql identifying dup constraints Well, you can't have two "not null" constraints on a column (see example below showing the error) as far as I know.
This transmission contains information solely for intended recipient and may be privileged, confidential and/or otherwise protect from disclosure. If you are not the intended recipient, please contact the sender and delete all copies of this transmission. This message and/or the materials contained herein are not an offer to sell, or a solicitation of an offer to buy, any securities or other instruments. The information has been obtained or derived from sources believed by us to be reliable, but we do not represent that it is accurate or complete. Any opinions or estimates contained in this information constitute our judgment as of this date and are subject to change without notice. Any information you share with us will be used in the operation of our business, and we do not request and do not want any material, nonpublic information. Absent an express prior written agreement, we are not agreeing to treat any information confidentially and will use any and all information and reserve the right to publish or disclose any information you share with us.