Solved

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

Posted on 2016-09-22
4
159 Views
Last Modified: 2016-10-06
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
0
Comment
Question by:chaitu chaitu
4 Comments
 
LVL 50

Expert Comment

by:Ryan Chong
ID: 41811898
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
 
LVL 37

Expert Comment

by:Geert Gruwez
ID: 41812055
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
 
LVL 32

Expert Comment

by:awking00
ID: 41812408
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
 
LVL 35

Accepted Solution

by:
Mark Geerlings earned 500 total points
ID: 41818482
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

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

This article started out as an Experts-Exchange question, which then grew into a quick tip to go along with an IOUG presentation for the Collaborate confernce and then later grew again into a full blown article with expanded functionality and legacy…
Configuring and using Oracle Database Gateway for ODBC Introduction First, a brief summary of what a Database Gateway is.  A Gateway is a set of driver agents and configurations that allow an Oracle database to communicate with other platforms…
This video explains at a high level with the mandatory Oracle Memory processes are as well as touching on some of the more common optional ones.
This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.

785 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question