java.sql.SQLIntegrityConstraintViolationExc eption: ORA-00001: unique constraint

Hi,

we are getting unique constraint ,Do we get this error while inserting same ID value into the table only or is there any other reason?
during update statement also also do we get this error?

org.springframework.dao.DuplicateKeyException:

### Error updating database.  Cause: java.sql.SQLIntegrityConstraintViolationExc
eption: ORA-00001: unique constraint (TESTSANDBOX.SYS_C0040162) violated
 
### The error may involve alfresco.propval.parameter_IdPropertyRoot
### The error occurred while setting parameters
### Cause: java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique
constraint (TESTSANDBOX.SYS_C0040162) violated
 
; SQL []; ORA-00001: unique constraint (TESTSANDBOX.SYS_C0040162) violated
; nested exception is java.sql.SQLIntegrityConstraintViolationException: ORA-000
01: unique constraint (TESTSANDBOX.SYS_C0040162) violated
LVL 20
chaitu chaituAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

 
Ryan ChongCommented:
Do we get this error while inserting same ID value into the table only or is there any other reason?

check the documentation below for more info:

Class SQLIntegrityConstraintViolationException
This indicates that an integrity constraint (foreign key, primary key or unique key) has been violated
https://docs.oracle.com/javase/7/docs/api/java/sql/SQLIntegrityConstraintViolationException.html

scroll down to Constructor Detail section for more info.
0
 
Geert GOracle dbaCommented:
you get this when violation a unique index

any of the columns given by this query should indicate at what columns to look
(assuming you login with the schema owner TESTSANDBOX)

select ui.index_name, ui.table_name, uic.column_name 
from user_indexes ui, user_ind_columns uic
where ui.uniqueness = 'UNIQUE'
  and ui.index_name = uic.index_name
  and ui.table_name = uic.table_name
  and ui.table_name = 'your table'
order by 2, 1

Open in new window


or use the index_name
select ui.index_name, ui.table_name, uic.column_name 
from user_indexes ui, user_ind_columns uic
where ui.uniqueness = 'UNIQUE'
  and ui.index_name = uic.index_name
  and ui.table_name = uic.table_name
  and ui.index_name = 'SYS_C0040162'
order by 2, 1

Open in new window

0
 
awking00Commented:
Can you post your update query and the output from the following query?
select uc.constraint_name, ucc.column_name, uc.constraint_type
from user_constraints uc, user_cons_columns ucc
where uc.table_name = ucc.table_name
and uc.constraint_name = ucc.constraint_name
and uc.table_name = 'YOURTABLE'
and uc.constraint_type in ('P','U','R');
0
 
Mark GeerlingsDatabase AdministratorCommented:
Yes, this error indicates that Oracle detected an attempt to violate the unique index that is associated with either a PRIMARY KEY or UNIQUE KEY constraint named: SYS_C0040162.  This constraint is owned by (that is, it is in the schema of):  TESTSANDBOX.

The second query from Geert Gruwez can be used to identify the table name.

Yes, the ORA-00001 error can happen either with an insert or an update, but it is more common with inserts (mainly because it is rare in most applications to try an update of a column value that is part of a PRIMARY KEY or UNIQUE KEY).
0

Experts Exchange Solution brought to you by ConnectWise

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.